我正在尝试使用两种不同的方式构建docker flink容器,通过Dockerfile和Docker组合。Dockerfile工作正常,但我在Docker组合中遇到了一些麻烦。
经过一些研究(如果我理解正确的话(,当我执行 yml 文件时,docker 会检查要使用的服务,并验证所需的映像是否已拉取,如果缺少其中任何一个,docker 将启动拉取过程。问题是默认情况下,docker 会拉取 image:latest 标签,而我对特定标签感兴趣。
我试图在执行 docker-compose.yml 文件之前拉取 image:tag,但尽管如此,Docker compose 会忽略已经拉取的映像并开始下载 image:latest 标签
有什么机制可以做到这一点吗?
我不知道它是否对回答问题有用,但我附上了我的 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
谢谢
只需明确指定要使用的图像及其标签:
jobmanager:
image: <image-name>:<tag>