在线文档教程
Docker 17
撰写 | Compose

CLI环境变量 | CLI environment variables (Compose)

Compose CLI environment variables

有几个环境变量可供您配置 Docker Compose 命令行行为。

开头的变量与DOCKER_用于配置 Docker 命令行客户端的变量相同。如果你正在使用docker-machine,那么eval "$(docker-machine env my-docker-vm)"命令应该将它们设置为正确的值。(在本例中,my-docker-vm是您创建的机器的名称。)

*还可以使用环境文件

COMPOSE_PROJECT_NAME

设置项目名称。在启动时,此值将与服务名称一起预先添加到容器中。例如,如果您的项目名称是,myapp并且它包含两个服务dbweb然后编写分别启动命名myapp_db_1和容器myapp_web_1

设置这是可选的。如果您不设置此项,则COMPOSE_PROJECT_NAME默认为basename项目目录。另请参阅-p命令行选项。

COMPOSE_FILE

指定撰写文件的路径。如果未提供,Compose 将查找docker-compose.yml在当前目录中指定的文件,然后依次查找每个父目录,直到找到通过该名称的文件。

此变量支持多个由路径分隔符分隔的 Compose 文件(在 Linux 和 MacOS 上,路径分隔符是:在 Windows 上;)。例如:COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml。路径分隔符也可以使用自定义COMPOSE_PATH_SEPARATOR

另请参阅-f命令行选项。

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.pemcert.pem,和key.pem用于 TLS 验证的文件。默认为~/.docker

COMPOSE_HTTP_TIMEOUT

配置在 Compose 认为它失败之前允许 Docker 守护进程请求挂起的时间(以秒为单位)。默认为60秒。

COMPOSE_TLS_VERSION

配置哪个 TLS 版本用于与docker守护程序进行 TLS 通信。默认为TLSv1。支持的值是:TLSv1TLSv1_1TLSv1_2

COMPOSE_CONVERT_WINDOWS_PATHS

在卷定义中启用从 Windows 样式到 Unix 样式的路径转换。Windows 上的 Docker Machine 和 Docker 工具箱的用户应该始终设置此设置。默认为0支持的价值观:true1为了使,false0使之失效。

COMPOSE_PATH_SEPARATOR

如果设置,则COMPOSE_FILE环境变量将使用此字符作为路径分隔符进行分隔。

相关信息

  • 用户指南

  • 安装组合

  • 合成文件引用

  • 环境文件

fig, composition, compose, docker, orchestration, cli, reference