Compose 文件

Compose 文件(版本3)


Compose 文件是一个定义服务网络YAML 文件。

后缀名采用 .yml 和 .yaml 都可以。

service 定义包含了应用于为服务启动的每个容器的配置,像是传递给 docker run的命令行参数。同样, network 和 volume 定义类似于 docker network createdocker volume create。配置选项是在构建时期应用的。在 Dockerfile 中指定的选项(如 CMD, EXPOSE,VOLUME,ENV等)同样会被利用,因此不必在 docker-compose 文件中再次指定这些选项。
整体采用 <key>:<option>:<value>的形式。

1. services

build

build 既可以是一个包含构建context路径的字符串,也可以是指明context和 可选的 Dockerfile 和 参数。例如:

build: ./dir

build:
context: ./dir
dockerfile: Dockerfile-alternate
args:
    buildno: 1

如果指定了 image 和 build,Compose 会用在 image 中指定的镜像名和标签来命名构建的镜像。

这个选项在 swarm 模型中是不奏效的,因为 docker stack只接受之前构建过的镜像。

CONTEXT

Context 是一个包含 Dockerfile目录的路径或一个 git 仓库的 URL。当 context 值是一个相对路径时,相对的是 Compose 文件的位置。这个目录同样也是传递给 Docker 后台的构建 context。Compose 将构建和标记这个生成的镜像,并在之后利用它。

DOCKERFILE

指定 dockerfile 选项后,Compose 会用这个指定的 dockerfile 来构建。

ARGS

ARGS 指定的是构建过程中的环境变量。
首先需要在 Dockerfile 中指定这些参数:

ARG buildno
ARG password

RUN echo "Build number: $buildno"
RUN script-requiring-password.sh "$password"

之后在 build 键中指定这些参数。可以通过映射或列表传递这些参数值:

build:
  context: .
  args:
    buildno: 1
    password: secret

build:
  context: .
  args:
    - buildno=1
    - password=secret

YAML 文件中的布尔值(true,false,yes,no,on,off)必须用引号引起了,以便解析器会将它们解释为字符串。


command

重写默认的命令
有以下两种格式:

command: bundl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值