Docker-重启后组成env

时间:2018-02-14 12:42:09

标签: docker-compose docker-machine

我在docker-machine上部署了一个容器,restart: always作为重启策略。 如果我没有错,这应该在机器重新启动时重新启动容器。

但是环境变量会发生什么?

他们被保留了吗?如果是的话,它们存放在哪里?

谢谢!

1 个答案:

答案 0 :(得分:0)

保留容器启动时的值。您可以考虑以下文件

version: '3'
services:
  envtest:
    image: alpine
    command: sh -c "echo X=$$X and Y=$$Y && exec tail -f /dev/null"
    restart: always
    environment:
      X: ${X}
    env_file:
      - env_file

<强> .ENV

X=Y

<强> env_file

Y=Z

使用下面的方法运行容器,然后重新启动

docker-compose up -d

现在更改文件如下

X=A
Y=B

然后重启系统并运行

$ docker-compose logs
Attaching to envtest_envtest_1
envtest_1  | X=Y and Y=Z
envtest_1  | X=Y and Y=Z

因此,当您看到它也将拥有环境并且它不会拾取您使用过的源env文件中发生的任何更改