[英]docker-compose ps with non-default docker-compose.yml file
我对使用 docker-compose 比较陌生,并且正在使用以下命令运行堆栈
docker-compose \
--project-name version-12 \
-f installation/docker-compose-common.yml \
-f installation/docker-compose-erpnext.yml \
--project-directory installation \
up -d
现在,使用非默认docker-compose.yml
文件,我无法让docker-compose.yml
docker-compose stop
、 docker-compose ps
工作。 我曾尝试使用-f
或--project-name
标志,但无法实现。
任何人都可以建议如何在这种情况下进行这项工作吗?
您需要为需要运行的每个命令重复所有docker-compose
选项。
有两种方法可以解决这个问题。 一种是编写一个调用此命令的 shell 脚本包装器:
#!/bin/sh
# I am `docker-compose-erpnext.sh`
# Run me with any normal `docker-compose` options
exec docker-compose \
--project-name version-12 \
-f installation/docker-compose-common.yml \
-f installation/docker-compose-erpnext.yml \
--project-directory installation \
"$@"
Docker Compose 的大部分设置也支持环境变量; 其中许多反过来也可以包含在.env
文件中。 您不能以这种方式指定--project-directory
,但它被记录为默认为 Compose 文件的目录。
export COMPOSE_PROJECT_NAME=version-12
export COMPOSE_FILE=installation/docker-compose-common.yml:installation/docker-compose-erpnext.yml
docker-compose up -d
docker-compose ps
您可以将这两个设置放在运行.env
docker-compose
的目录(不是installation
子目录)中的文件名.env
中; 但如果您尝试管理多个部署,则无法为文件指定备用名称(既没有 CLI 选项,也没有环境变量设置)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.