【问题标题】:Restart docker with different environment variable使用不同的环境变量重新启动 docker
【发布时间】:2017-06-06 20:31:57
【问题描述】:
我有一个 docker-compose
myimage:
image: myimage:latest
environment:
MY_VAR: "something"
容器在内部使用 MY_VAR,有时在自动化测试中我想用不同的 MY_VAR 重新启动该特定容器(以模拟具有不同环境变量设置的进程重新启动)
有没有办法在保持 docker-compose 容器的其余部分正常运行的同时做到这一点?
【问题讨论】:
标签:
docker
docker-compose
docker-container
【解决方案1】:
就像@robin.thoni 所说,需要重新创建容器以更改MY_VAR 值,但您可以通过在撰写YML 中使用环境变量来简化该过程,如下所示:
我的形象:
图片:myimage:最新
环境:
- MY_VAR:${A_ENV_VAR}
并像这样运行容器:
A_ENV_VAR=test docker-compose run myimage
【解决方案2】:
你不能这样做,你必须重新创建一个容器,因为环境变量在 run 命令中给出(即使使用 docker-compose)。