我在docker-machine上部署了一个容器,restart: always
作为重启策略。
如果我没有错,这应该在机器重新启动时重新启动容器。
但是环境变量会发生什么?
他们被保留了吗?如果是的话,它们存放在哪里?
谢谢!
答案 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文件中发生的任何更改