Docker Compose 配置文件 Docker-Compose.yml 文件详解

2023-10-17 1997阅读

每个docker-compose.yml必须定义 image 或者 build 中的一个,其它的是可选的。注意,在 version 1 里 bulid 仅支持值为字符串。context 为路径, dockerfile 为需要替换默认 docker-compose 的文件名, args 为构建过程中的环境变量,用于替换Dockerfile里定义的 ARG 参数,容器中不可用。链接搭配 docker-compose.yml 文件或者 Compose 之外定义的服务,通常是提供共享或公共服务。将会在 /etc/hosts 创建记录:继承自当前yml文件或者其它文件中定义的服务,可以选择性的覆盖原有配置。service 是需要继承的服务,例如 web 、 database 。《Docker Compose 配置文件 Docker-Compose.yml 文件详解》来自互联网同行内容,若有侵权,请联系我们删除!

每个docker-compose.yml必须定义

image

或者

build

中的一个,其它的是可选的。指定镜像tag或者ID。示例:注意,在

version 1

里同时使用

image



build

是不允许的,

version 2

则可以,如果同时指定了两者,会将

build

出来的镜像打上名为

image

标签。开发云主机域名build用来指定一个包含Dockerfile文件的路径。一般是当前目录.。Fig将build并生成一个随机命名的镜像。注意,在

version 1



bulid

仅支持值为字符串。

version 2

里支持对象格式。


context

为路径,

dockerfile

为需要替换默认

docker-compose

的文件名,

args

为构建(build)过程中的环境变量,用于替换Dockerfile里定义的

ARG

参数,容器中不可用。示例:

Dockerfile:docker-compose.yml:用来覆盖缺省命令。示例:

command

也支持数组形式:用于链接另一容器服务,如需要使用到另一容器的mysql服务。可以给出服务名和别名;也可以仅给出服务名,这样别名将和服务名相同。同

docker run --link

。示例:使用了别名将自动会在容器的

/etc/hosts

文件里创建相应记录:所以我们在容器里就可以直接使用别名作为服务的主机名。用于暴露端口。同

docker run -p

。示例:expose提供container开发云主机域名之间的端口访问,不会暴露给主机使用。同

docker run --expose

。挂载数据卷。同

docker run -v

。示例:挂载数据卷容器,挂载是容器。同

docker run --volumes-from

。示例:

container:container_name

格式仅支持

version 2

。添加环境变量。同

docker run -e

。可以是数组或者字典格式:使用 Compose 时,最大的好处就是少打启动命令,但是一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,必然会因为容器依赖问题而启动失败。

例如在没启动数据库容器的时候启动了应用容器,这时候应用容器会因为找不到数据库而退出,为了避免这种情况我们需要加入一个标签,就是 depends_on,这个标签解决了容器的依赖、启动先后的问题。

例如下面容器会先启动 redis 和 db 两个服务,最后才启动 web 服务:注意的是,默认情况下使用 docker-compose up web 这样的方式启动 web 服务时,也会启动 redis 和 db 两个服务,因为在配置文件中定义了依赖关系。链接搭配

docker-compose.yml

文件或者

Compose

之外定义的服务,通常是提供共享或公共服务。格式与

links

相似:注意,

external_links

链接的服务与当前服务必须是同一个网络环境。添加主机名映射。将会在

/etc/hosts

创建记录:继承自当前yml文件或者其它文件中定义的服务,可以选择性的覆盖原有配置。

service

必须有,

file

可选。

service

是需要继承的服务,例如

web



database

。设置网络模式。同docker的

--net

参数。开发云主机域名自定义dns服务器。完整列子:

Docker Compose 配置文件 Docker-Compose.yml 文件详解
(图片来源网络,侵删)

本文从转载,原作者保留一切权利,若侵权请联系删除。

《Docker Compose 配置文件 Docker-Compose.yml 文件详解》来自互联网同行内容,若有侵权,请联系我们删除!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]