Docker Compose 文件中指令简述

2021-01-08 0 By admin

Docker Compose 的配置文件主要是对容器进行编排处理的,这里处理容器对象(Services)的配置、还包括对存储卷(Volumes)、网络(networks)、配置文件(configs)、加密配置(secrets)等对象的配置。

  1. 还有关于时间单位、字节单位的设置。
  2. 配置文件中变量的设置、扩展字段设置等。

一、Service 配置(容器对象)

1.1、最基本的指令

1、容器名字

设置容器名字:container_name

2、容器之间的依赖关系

设置容器间依赖关系:depends_on

3、构建过程配置

build构建配置指令;包括context、dockerfile、args、cache_from、labels、network、shm_size、target

4、镜像

执行镜像信息:image

5、容器的部署和运行相关的配置

设置容器部署信息:deploy;包括:endpoint_mode、labels、mode、placement、max_replicas_per_node、replicas、resources、restart_policy、rollback_config、update_config、Notsupportedfordockerstackdeploy

1.2、常用指令

1、为容器指定默认命令

执行指令:command

2、覆盖镜像中的 entrypoint

启动指令:entrypoint

3、环境变量信息

环境变量文件:env_file

4、定义环境变量

环境变量信息:environment

5、暴漏端口信息

暴漏的端口:expose

6、端口映射

映射端口:ports;包括:Short syntax、Long syntax

7、监控检查

配置健康检查:healthcheck

8、重启规则

容器重启策略:restart

9、在容器中添加解析记录

设置解析记录:extra_hosts

10、自定义DNS服务器

Dns 服务器:dns

11、自定义DNS服务器搜索地址

搜索DNS 服务器:dns_search

12、停止信号

设置容器停止信号:stop_signal

13、容器强制停止前等待时间

容器强制停止前等待时间:stop_grace_period

14、内核参数设置

内核参数设置:sysctls

15、临时目录配置

临时目录设置:tmpfs

16、资源限制

容器资源限制:ulimits

1.3、其他关联对象

1、容器间连接访问

容器间连接访问:links

2、日志配置

日志配置:logging

3、网络配置

指定网络驱动模式:network_mode
指定网络配置:networks;包括:aliases、ipv4_address, ipv6_address

4、设备映射列表

映射设备信息:devices

5、容器设置配置信息

配置信息指令:configs ;包括:Short syntax、Long syntax

6、加密信息

加密信息对象:secrets;包括:Short syntax、Long syntax

7、存储卷

存储卷配置:volumes;包括:Short syntax、Long syntax、Volumes for services, swarms, and stack files

1.4、指令扩展

1、连接到其他容器

external_links(不太明白,要求涉及到的容器都在同一个网络中)

2、PID 配置

将PID模式设置为主机PID模式。

3、初始化

在容器中运行一个init,它转发信号并接收进程。

4、容器隔离

容器隔离:isolation

5、标签

标签配置:labels

6、安全选项

安全选项:security_opt

7、用户命名空间相关

用户命名空间相关:userns_mode

8、添加或删除容器功能

指令:cap_add, cap_drop

9、为容器指定 parent cgroup

指令:cgroup_parent

10、为托管服务帐户配置凭据规范

此选项仅用于使用Windows容器的服务:credential_spec 包括:Example gMSA configuration

1.5、其他配置指令

Docker 服务容器指令相似;包括:domainname, hostname, ipc, mac_address, privileged, read_only, shm_size, stdin_open, tty, user, working_dir

二、逻辑卷配置

指定此卷应使用哪个卷驱动程序。默认为Docker引擎配置为使用的任何驱动程序,在大多数情况下是Local 本地。如果驱动程序不可用,docker compose up尝试创建卷时,引擎将返回一个错误。
配置指令包括:driver、driver_opts、external、labels、name

三、网络配置指令

顶级网络配置指令用于创建网络对象。包括:driver、driver_opts、attachable、enable_ipv6、ipam、internal、labels、external、name

四、配置文件对象配置

配置文件对象配置方式:包括file、external、name、driver、template_driver 五种类型。

五、加密配置对象配置

加密对象配置方式:包括file、external、name、template_driver 四种类型。

六、变量配置

配置选项可以包含环境变量。Compose使用运行docker Compose的shell环境中的变量值

七、用户自定义字段

Docker Compose 文件运行用户自定义配置字段。