作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
语境
我们正在将较旧的应用程序迁移到docker,并且第一步是要克服一些限制。该数据库尚不能放入容器中,而且,我们团队中的所有开发人员都可以共享该数据库。因此,这个问题是为临时问题找到解决方法。
为了不与使用同一数据库的其他开发人员发生冲突,有一个适当的系统,在该系统中,每个开发人员计算机都使用其计算机唯一的值来启动应用程序。每个容器应使用相同的值。
题
我们正在使用docker-compose
启动容器。有没有办法为它提供一个(环境)变量,该变量会传播到所有容器?
我如何尝试做到这一点:
我的docker-compose.yml
看起来像这样:
my_service:
image: my_service:latest
command: ./my_service.sh
extends:
file: base.yml
service: base
environment:
- batch.id=${BATCH_ID}
BATCH_ID=$somevalue docker-compose up my_service
会填充
${BATCH_ID}
,但这似乎不起作用。
docker-compose up my_service
使其自身计算出要传递给所有容器的值。但是从网上看到的情况来看,我认为这是不可能的。
最佳答案
你是对的。或者,您可以只指定环境变量名称:
my_service:
environment:
- BATCH_ID
BATCH_ID
是从当前docker-compose执行范围定义的;并传递给同名容器
关于docker - 如何在通过相同 “docker-compose up”调用旋转的所有docker容器之间共享值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44906977/
我是一名优秀的程序员,十分优秀!