docker compose 中 'image' 和 'build' 的区别
Difference between 'image' and 'build' within docker compose
请帮我理解 'image' 和 'build' 在 docker compose
中的区别
image
表示 docker compose
将 运行 基于该图像的容器
- build 表示
docker compose
将首先基于在与构建关联的路径中找到的 Dockerfile 构建一个映像(然后 运行 基于该映像的容器)。
PR 2458 最终被合并以允许两者(并在构建时使用 image
作为图像名称,如果它存在的话)。
therobyouknow
mentions :
dockerfile:
as a sub-statement beneath build:
can be used to specify the filename/path of the Dockerfile.
version: '3'
services:
webapp:
build:
context: ./dir
dockerfile: Dockerfile-alternate
args:
buildno: 1
构建:需要docker文件路径作为参数,它会先构建一个镜像,然后使用该镜像创建一个容器。
图像:需要现有图像名称作为参数,它将使用该图像启动容器。
示例:docker-compose.yaml
version: '3'
services:
service1:
build: .
ports:
- "5000:5000"
service2:
image: "redis:alpine"
service1会先根据当前路径的Dockerfile构建一个镜像,运行容器基于这个镜像
service2 将从 docker 中心下载 "redis:alpine" 图像,下载图像上的 运行 容器。
请帮我理解 'image' 和 'build' 在 docker compose
中的区别image
表示docker compose
将 运行 基于该图像的容器- build 表示
docker compose
将首先基于在与构建关联的路径中找到的 Dockerfile 构建一个映像(然后 运行 基于该映像的容器)。
PR 2458 最终被合并以允许两者(并在构建时使用 image
作为图像名称,如果它存在的话)。
therobyouknow
mentions
dockerfile:
as a sub-statement beneathbuild:
can be used to specify the filename/path of the Dockerfile.
version: '3'
services:
webapp:
build:
context: ./dir
dockerfile: Dockerfile-alternate
args:
buildno: 1
构建:需要docker文件路径作为参数,它会先构建一个镜像,然后使用该镜像创建一个容器。
图像:需要现有图像名称作为参数,它将使用该图像启动容器。
示例:docker-compose.yaml
version: '3'
services:
service1:
build: .
ports:
- "5000:5000"
service2:
image: "redis:alpine"
service1会先根据当前路径的Dockerfile构建一个镜像,运行容器基于这个镜像
service2 将从 docker 中心下载 "redis:alpine" 图像,下载图像上的 运行 容器。