云计算核心技术Docker教程:Docker Compose编写CLI环境变量
可以使用几个环境变量来配置Docker Compose命令行行为。
以开头的变量与DOCKER_用于配置Docker命令行客户端的变量相同。如果使用docker-machine,则eval "$(docker-machine env my-docker-vm)"命令应将它们设置为正确的值。(在此示例中,my-docker-vm是您创建的计算机的名称。)
COMPOSE_PROJECT_NAME
设置项目名称。启动时,此值与服务名称一起添加到容器中。例如,如果您的项目名称为,myapp并且其中包括两个服务db和web,则Compose分别启动名为myapp_db_1和的容器 myapp_web_1。设置为可选。如果未设置,则COMPOSE_PROJECT_NAME 默认为basename项目目录的。
COMPOSE_FILE
指定撰写文件的路径。如果未提供,则Compose会docker-compose.yml在当前目录中依次查找一个名为的文件,然后依次查找 每个父目录,直到找到具有该名称的文件为止。
此变量支持多个用路径分隔符分隔的Compose文件(在Linux和macOS上,路径分隔符为:,在Windows上为;)。例如: COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml。路径分隔符也可以使用进行自定义COMPOSE_PATH_SEPARATOR。
COMPOSE_API_VERSION
Docker API仅支持来自报告特定版本的客户端的请求。如果client and server don't have same version使用收到错误 docker-compose,则可以通过设置此环境变量来解决此错误。设置版本值以匹配服务器版本。设置此变量的目的是为了解决需要临时运行而客户端和服务器版本不匹配的情况。例如,如果您可以升级客户端,但需要等待升级服务器。在使用此变量集并已知不匹配的情况下运行,确实会阻止某些Docker功能正常运行。失败的确切功能将取决于Docker客户端和服务器版本。因此,使用此变量集运行仅是一种变通办法,并且不受官方支持。如果在使用此设置运行时遇到问题,请通过升级解决不匹配问题,然后删除此设置以在通知支持之前查看问题是否解决。
DOCKER_HOST
设置docker守护程序的URL 。与Docker客户端一样,默认为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,TLSv1_1,TLSv1_2。
COMPOSE_CONVERT_WINDOWS_PATHS
在卷定义中启用从Windows样式到Unix样式的路径转换。Windows上Docker Machine的用户应始终对此进行设置。默认为0。支持的值:true或1启用,false或0禁用。
COMPOSE_PATH_SEPARATOR
如果设置,COMPOSE_FILE则使用此字符作为路径分隔符分隔环境变量的值。
COMPOSE_FORCE_WINDOWS_HOST
如果设置了该属性,则即使Compose在基于UNIX的系统上运行,也将假定主机路径为Windows路径,使用短语法来解析卷声明。支持的值:true或1启用,false或0禁用。
COMPOSE_IGNORE_ORPHANS
如果设置,则Compose不会尝试检测项目的孤立容器。支持的值:true或1启用,false或0禁用。
COMPOSE_PARALLEL_LIMIT
设置Compose可以并行执行的操作数的限制。默认值为64,并且不得设置为低于2。
COMPOSE_INTERACTIVE_NO_CLI
如果设置,则Compose不会尝试使用Docker CLI进行交互run 和exec操作。在上述操作需要CLI的Windows上,此选项不可用。支持:true或1启用,false或0禁用。