我有一个现有的Docker容器,我想在该容器中设置一个环境变量。可以在Docker中完成吗?如果是这样,怎么办?
最佳答案
环境变量在启动时在进程上设置,通常由子进程继承。在Docker中,您可以使用Dockerfile中的ENV
命令在镜像上设置环境变量。而且,您可以在调用docker run -e ...
时配置用于启动容器的默认环境,或者在docker-compose.yml
中定义环境。因此,在启动容器之前,有很多方法可以做到这一点。
但是,一旦启动,就无法在正在运行的进程上对其进行更改,并且Docker没有命令来更改容器的默认环境,该命令只会影响执行过的进程,或者如果它们确实添加了容器,则该重启会重启功能。因此,最好的选择是停止并删除现有容器,然后在正确的环境中重新创建它。
关于bash - 如何在现有的Docker容器中永久设置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39884020/