请帮助我理解docker compose中“图像”和“构建”之间的区别
答案 0 :(得分:25)
PR 2458最终合并为允许两者(并在构建时使用image
作为图像名称,如果存在的话)。
therobyouknow
提及in the comments:
dockerfile:
作为build:
下的子语句可用于指定Dockerfile的文件名/路径。
version: '3'
services:
webapp:
build:
context: ./dir
dockerfile: Dockerfile-alternate
args:
buildno: 1
答案 1 :(得分:0)
build:期望将dockerfile路径作为参数,它将首先构建映像,然后使用该映像创建容器。
image:以现有的图像名称作为参数,它将使用该图像启动容器。
示例:docker-compose.yaml
version: '3'
services:
service1:
build: .
ports:
- "5000:5000"
service2:
image: "redis:alpine"
service1将首先基于当前路径的Dockerfile构建一个映像,然后基于该映像运行容器。
service2将从docker hub下载“ redis:alpine”映像,并在下载的映像上运行容器。