Docker重启 – 保留环境variables

我们有一个运行Java服务器的Docker容器。 一些环境variables传递给运行命令中包含的内容(例如, docker run -e INSTANCE_NAME=$INSTANCE_ID [...]

这按预期工作,服务器可以访问INSTANCE_NAME环境variables。 但是,如果我们停止容器并重新启动它,则环境variables将丢失,Java服务器找不到INSTANCE_NAME。 更奇怪的是,如果我们用docker exec -it ID bashinput容器,环境variables是正确设置的。 所以看起来,重启容器时,环境variables的设置与第一次使用docker run

有人知道这样的事情吗? 这对我们来说只是一个糟糕的操纵吗?

没想到这个职位,我不小心改变了启动脚本,以便在重新启动后,Java程序正在sudo下运行,具有不同的环境variables集…