docker-compose CLI总览 | Overview of docker-compose CLI
docker-compose CLI概述
此页面提供docker-compose
命令的使用信息。
命令选项概述和帮助
您也可以通过docker-compose --help
从命令行运行来查看此信息。
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate Compose file (default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name (default: directory name)
--verbose Show more output
--no-ansi Do not print ANSI control characters
-v, --version Print version and exit
-H, --host HOST Daemon socket to connect to
--tls Use TLS; implied by --tlsverify
--tlscacert CA_PATH Trust certs signed only by this CA
--tlscert CLIENT_CERT_PATH Path to TLS certificate file
--tlskey TLS_KEY_PATH Path to TLS key file
--tlsverify Use TLS and verify the remote
--skip-hostname-check Don't check the daemon's hostname against the name specified
in the client certificate (for example if your docker host
is an IP address)
--project-directory PATH Specify an alternate working directory
(default: the path of the Compose file)
Commands:
build Build or rebuild services
bundle Generate a Docker bundle from the Compose file
config Validate and view the Compose file
create Create services
down Stop and remove containers, networks, images, and volumes
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker-Compose version information
您可以使用Docker Compose二进制,docker-compose [-f <arg> ...] [options] [COMMAND] [ARGS ...]在Docker容器中构建和管理多个服务。
使用-f指定名称和一个或多个文件撰写路径
使用该-f
标志来指定Compose配置文件的位置。
指定多个撰写文件
您可以提供多个-f
配置文件。当您提供多个文件时,Compose将它们组合成单个配置。撰写按您提供文件的顺序构建配置。后续文件将覆盖并添加到其前任。
例如,请考虑以下命令行:
$ docker-compose -f docker-compose.yml -f docker-compose.admin.yml run backup_db
该docker-compose.yml
文件可能会指定一项webapp
服务。
webapp:
image: examples/web
ports:
- "8000:8000"
volumes:
- "/data"
如果docker-compose.admin.yml
也指定了这个相同的服务,任何匹配的字段将覆盖前一个文件。新的值则添加到webapp
服务配置。
webapp:
build: .
environment:
- DEBUG=1
使用-f和 - (破折号)作为文件名从stdin读取配置。 当使用stdin时,配置中的所有路径都与当前工作目录相关。
-f标志是可选的。 如果您不在命令行中提供此标志,则Compose将遍历工作目录及其父目录,以查找docker-compose.yml和docker-compose.override.yml文件。 您必须至少提供docker-compose.yml文件。 如果两个文件都存在于相同的目录级别,则Compose会将这两个文件组合到一个配置中。
docker-compose.override.yml
除了docker-compose.yml
文件中的值之外,文件中的配置将被应用。
指定单个撰写文件的路径
您可以使用-f
标志来指定不在当前目录中的Compose文件的路径,无论是从命令行还是通过在shell或环境文件中设置COMPOSE_FILE环境变量。
有关在命令行中使用-f选项的示例,假设您正在运行Compose Rails示例,并在名为sandbox / rails的目录中包含docker-compose.yml文件。 您可以使用像docker-compose pull这样的命令,通过使用-f标志从任何地方获取db服务的postgress映像,如下所示:docker-compose -f〜/ sandbox / rails / docker-compose.yml pull db
以下是完整的示例:
$ docker-compose -f ~/sandbox/rails/docker-compose.yml pull db
Pulling db (postgres:latest)...
latest: Pulling from library/postgres
ef0380f84d05: Pull complete
50cf91dc1db8: Pull complete
d3add4cd115c: Pull complete
467830d8a616: Pull complete
089b9db7dc57: Pull complete
6fba0a36935c: Pull complete
81ef0e73c953: Pull complete
338a6c4894dc: Pull complete
15853f32f67c: Pull complete
044c83d92898: Pull complete
17301519f133: Pull complete
dcca70822752: Pull complete
cecf11b8ccf3: Pull complete
Digest: sha256:1364924c753d5ff7e2260cd34dc4ba05ebd40ee8193391220be0f9901d4e1651
Status: Downloaded newer image for postgres:latest
使用-p指定项目名称
每个配置都有一个项目名称。如果你提供一个-p
标志,你可以指定一个项目名称。如果您不指定标志,Compose将使用当前目录名称。另请参阅COMPOSE_PROJECT_NAME环境变量。
设置环境变量
您可以为各种docker-compose
选项设置环境变量,包括-f
和-p
标志。
例如,COMPOSE_FILE环境变量与该-f
标志相关,并且COMPOSE_PROJECT_NAME环境变量与该-p
标志相关。
另外,您可以在环境文件中设置其中一些变量。
下一步:
- CLI环境变量