Docker-重启后编写环境
Docker-compose env after reboot
我在 docker 机器上部署了一个容器,使用 restart: always
作为重启策略。
如果我没记错的话,这应该会在机器重启时重启容器。
但是环境变量会发生什么?
它们被保存了吗?如果是这样,它们存储在哪里?
谢谢!
这些值与容器启动时的值一起保留。您可以考虑以下文件
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 文件中发生的任何更改
我在 docker 机器上部署了一个容器,使用 restart: always
作为重启策略。
如果我没记错的话,这应该会在机器重启时重启容器。
但是环境变量会发生什么?
它们被保存了吗?如果是这样,它们存储在哪里?
谢谢!
这些值与容器启动时的值一起保留。您可以考虑以下文件
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 文件中发生的任何更改