我正在尝试使用两种不同的方式构建一个docker flink容器,通过Dockerfile和Docker组合。 Dockerfile工作正常,但我在使用Docker编写时遇到了一些麻烦。
执行yml文件后,经过一些研究(如果我已正确理解),docker会检查将要使用的服务,并验证是否已拉出所需的图像,如果缺少其中任何一个,docker开始拉动过程。问题是默认情况下,docker会拉出image:latest标签,我对特定标签感兴趣。
我尝试在执行docker-compose.yml文件之前拉出image:标签,但尽管如此,Docker组合忽略已经拉过的图像并开始下载图像:最新标签
有什么机制可以做到吗?
我不知道回答这个问题是否有用,但是我附上了我的yml代码:
version: "2.1"
services:
jobmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink}
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink}
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
谢谢
答案 0 :(得分:5)
只需明确指定您要使用的图片及其标记:
jobmanager:
image: <image-name>:<tag>