如何在现有的docker集装箱中永久设置环境variables?

我有一个现有的docker集装箱,我想在该容器中设置一个环境variables。 这可以在Docker中完成吗? 如果是这样,怎么样?

环境variables在进程启动时被设置,通常由subprocessinheritance。 在Docker中,您可以使用Dockerfile中的ENV命令在图像上设置环境variables。 你可以configuration当你调用docker run -e ...时启动容器的默认环境,或者在docker-compose.yml定义环境。 所以有很多方法可以在你的容器启动之前做到这一点。

但是,一旦启动,就无法在正在运行的进程中进行更改,并且Docker没有任何命令来更改容器的默认环境,只能影响exec'd进程或重新启动容器该function。 因此,最好的select是停止并移除现有容器,然后使用正确的环境重新创build容器。