【发布时间】:2015-05-29 11:40:44
【问题描述】:
拥有以下 docker-compose 文件:
db:
build: .
environment:
- MYSQL_ROOT_PASSWORD=password
- ENV=test
env_file: .env
有什么方法可以使用 docker-compose.yml 中声明的环境变量(作为环境或在 env_file 中声明)作为 Dockerfile 的一部分,而不在 Dockerfile 中声明它们?像这样的:
FROM java:7
ADD ${ENV}/data.xml /data/
CMD ["run.sh"]
【问题讨论】:
-
那真的很有用。
-
不,这是不可能的。这与使用主机环境变量的问题非常相似:stackoverflow.com/questions/27925006/…
-
实际上,有一些工作正在进行中以促进这一点; github.com/docker/docker/pull/9176 这不会是 Docker 1.6 的一部分,但可能是 1.7
-
请问有人回答了吗??已经是 1.8.2 了。我需要从 Dockerfile 中的 docker-compose 获取一些东西!
-
从 Docker 1.9 开始,build-time arguments are now available。但是,撰写does not support it yet。
标签: docker docker-compose