我对多个项目使用相同的docker-compose.yml
文件。我真的很懒,所以我不想用docker-compose -p $PROJECT_NAME up
启动它们。
从Docker版本17.06.0开始,可以直接在docker-compose.yml
文件中设置变量。
答案 0 :(得分:8)
答案 1 :(得分:6)
我知道很久以前就问过这个问题,但是我遇到了同样的问题。有建议添加功能https://github.com/docker/compose/issues/745,但他们不希望添加。
但是,我在目录的根目录中有一个Makefile,然后您可以在Makefile中添加类似内容:
.PHONY: container-name
container-name:
docker-compose -p $PROJECT_NAME up -d container-name
然后运行make container-name
我知道这不是您要的,但也许可以使您的生活更轻松。
答案 2 :(得分:1)
您可以将它们添加为环境变量,这些变量可通过使用docker compose打开容器的会话中提供。
也就是说,如果您想在docker-compose.yaml中的某个地方使用$ PROJECT_NAME,那么如果此变量在您的会话中有值,那么它就会被选中。
在yaml中,您可以根据需要将其分配给任何内容。你想要作为命令行arg到某些脚本,即使这也是可能的。即,
working_dir: /opt
command: /bin/bash -c './script.sh ${PROJECT_NAME}'
volumes:
- /var/run/:/host/var/run/
我正在使用 docker version:Docker版本17.09.0-ce,构建afdb6d4 docker-compose版本:docker-compose版本1.14.0,build c7bdf9e