赞
踩
默认的模板文件是 docker-compose.yml,其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。
其它大部分指令都跟 docker run 中的类似。
如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取,无需在 docker-compose.yml 中再次设置。
version: "3.7"
services:
webapp:
build: ./dir
或者,作为具有在上下文下指定的路径的对象,以及可选的Dockerfile和args:
version: "3.7"
services:
webapp:
build:
context: ./dir
dockerfile: Dockerfile-alternate
args:
buildno: 1
如果您指定image以及build,则Compose使用在中指定的webapp和可选名称命名构建的图像:tagimage
build: ./dir
image: webapp:tag
包含Dockerfile的目录的路径,或git存储库的URL。
当提供的值是相对路径时,它将被解释为相对于Compose文件的位置。此目录也是发送到Docker守护程序的构建上下文。
Compose用生成的名称构建并标记它,然后使用该图像。
build:
context: ./dir
备用Dockerfile。
Compose使用一个替代文件进行构建。还必须指定一个构建路径。
build:
context: .
dockerfile: Dockerfile-alternate
添加构建参数,这是只能在构建过程中访问的环境变量。
首先,在Dockerfile中指定参数:
ARG buildno
ARG gitcommithash
RUN echo "Build number: $buildno"
RUN echo "Based on commit: $gitcommithash"
然后在build键下指定参数。您可以传递映射或列表:
build:
context: .
args:
buildno: 1
gitcommithash: cdc3b19
build:
context: .
args:
- buildno=1
- gitcommithash=cdc3b19
注意:在Dockerfile中,如果您ARG在FROM指令之前指定, ARG则在下方的构建指令中不可用FROM。如果您需要一个参数在两个地方都可用,请在FROM说明中也指定它。有关用法的详细信息,请参阅了解ARGS和FROM的交互方式。
您可以在指定构建参数时忽略该值,在这种情况下,构建时的值就是运行Compose的环境中的值。
args:
- buildno
- gitcommithash
注:YAML布尔值(true,false,yes,no,on,off)必须用引号括起来,这样分析器会将它们解释为字符串。
注意:此选项是v3.2中的新增功能
引擎用于缓存解析的图像列表。
build:
context: .
cache_from:
- alpine:latest
- corp/web_app:3.14
注意:此选项是v3.3中的新增功能
使用Docker标签将元数据添加到生成的图像中。您可以使用数组或字典。
我们建议您使用反向DNS表示法,以防止您的标签与其他软件使用的标签冲突。
build:
context: .
labels:
com.example.description: "Accounting webapp"
com.example.department: "Finance"
com.example.label-with-empty-value: ""
build:
context: <
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。