网上搜索了很多文章都是千篇一律的运行不起来
我们先来看看网上的步骤
首先创建docker-compose.yml没问题
内容如下
version: "2.1"
services:
jobmanager:
image: flink
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: flink
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
接着运行docker-compose
docker-compose build
docker-compose up -d --force-recreate
拉取镜像,没问题
这句就有问题,好像把镜像又remove了,这句不能执行,百度后发现这是一个停止容器的开关,停止容器有两个开关一个是down一个是stop,它们的区别如下:docker-compose down
docker-compose stop命令将停止运行的容器,但不会删除它们
docker-compose down命令将停止运行的容器,并且会删除已停止的容器以及已创建的所有网络。
如果用了down那肯定后面那句restart就启动不了了。
docker-compose restart
这句执行后就启动了容器
查看日志
docker logs --tail="500" root-jobmanager-1
docker logs -f root-taskmanager-1
上面的flink-jobmanager-1,flink-taskmanager-1分别是启动后的容器名
不要直接用网上的名字,这个名字是在docker-compose up -d --force-recreate
后在控制台上打印出来的,为什么我的是root-jobmanager-1,root是我放docker-compose.yml文件的位置,网上有的是flink那是因为他们是在/opt/flink下创建的docker-compose.yml文件
查看进程netstat -anltp|grep 8081
复制出配置文件docker cp root-jobmanager-1:/opt/flink/conf/ /root/
进入容器docker exec -it --user root root-jobmanager-1 /bin/bash