使用不同的环境变量重新启动docker

Nic*_*nto 4 docker docker-compose docker-container

我有一个docker-compose

myimage:
  image: myimage:latest
  environment:
    MY_VAR: "something"
Run Code Online (Sandbox Code Playgroud)

容器在内部使用MY_VAR,有时在自动化测试中,我想用不同的MY_VAR重新启动该特定容器(以使用不同的环境变量设置模拟进程重启)

有没有办法在保持docker-compose容器的其余部分的同时执行此操作?

Luc*_*reu 8

就像@ robin.thoni所说的那样,需要重新创建容器才能更改MY_VAR值,但是你可以通过使用compose YML中的环境var来简化这个过程,如下所示:

    myimage:
      image: myimage:latest
      environment:
        - MY_VAR: ${A_ENV_VAR}

像这样运行容器:


A_ENV_VAR=test docker-compose run myimage