一 环境变量概述



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不支持此项。



默认值:



举例: