一 环境变量概述
Compose支持在docker-compose执行命令的文件夹中,名为.env的环境变量配置文件声明默认环境变量。
二 定义变量
2.1 语法规则
- Compose建议env文件中的每一行都是VAR=VAL格式。
- 以#开头的行将作为注释处理并被忽略。
- 空行被忽略。
- 没有特殊的引号处理。
2.2 变量定义
COMPOSE_PROJECT_NAME
意义:设置项目名称,启动时,此值将与服务名称一起添加到容器中,如项目名称为myapp,它包括两个服务db和web,然后开始撰写名为容器 myapp_db_1和myapp_web_1分别。
参数:可选,可自定义名称。
默认值:默认为当前执行命令所在目录名。
举例:COMPOSE_PROJECT_NAME=myapp
COMPOSE_FILE
意义:指定Compose文件的路径。
参数:可选,可指定引用外部yml配置,支持由:分隔符分隔的多个Compose文件。
默认值:默认Compose将查找当前目录中的docker-compose.yml文件,然后查找每个父目录,直到找到该名称的文件。
举例:COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
COMPOSE_API_VERSION
意义:Docker API仅支持来自报告特定版本的客户端的请求,若提示client and server don't have same version,则表示使用版本不一致,可以通过设置此环境变量来设置版本值以匹配服务器版本。
参数:
默认值:
举例:
DOCKER_HOST
意义:设置docker守护程序的URL 。
参数:
默认值:unix:///var/run/docker.sock
举例:
DOCKER_TLS_VERIFY
意义:启用与docker守护程序的TLS通信。
参数:
默认值:
举例:
DOCKER_CERT_PATH
意义:配置路径ca.pem,cert.pem以及key.pem用于TLS验证文件。
参数:
默认值:~/.docker
举例:
COMPOSE_HTTP_TIMEOUT
意义:配置在Compose认为失败之前允许挂起对Docker守护程序的请求的时间(以秒为单位)。
参数:
默认值:60秒
举例:
COMPOSE_TLS_VERSION
意义:配置使用哪个TLS版本用于与docker守护程序进行TLS通信。
参数:支持的值是:TLSv1,TLSv1_1,TLSv1_2。
默认值:TLSv1
举例:
COMPOSE_CONVERT_WINDOWS_PATHS
意义:在卷定义中启用从Windows样式到Unix样式的路径转换。Windows上的Docker Machine和Docker Toolbox的用户应始终设置此项。
参数:支持的值:true或1启用false或0禁用。
默认值:0
举例:
COMPOSE_PATH_SEPARATOR
意义:定义多Compose配置文件的分隔符。
参数:可选,可自定义名称。
默认值::
举例:
COMPOSE_FORCE_WINDOWS_HOST
意义:
参数:
默认值:
举例:
COMPOSE_IGNORE_ORPHANS
意义:定义Compose是否尝试检测项目的孤立容器。
参数:支持的值:true或1启用false或0禁用。
默认值:
举例:
COMPOSE_PARALLEL_LIMIT
意义:设置Compose可以并行执行的操作数限制。
参数:不能低于2的数值
默认值:64
举例:
COMPOSE_INTERACTIVE_NO_CLI
意义:定义Compose是否使用Docker CLI进行交互run和exec操作。
参数:支持:true或1启用false或0禁用,Windows不支持此项。
默认值:
举例: