使用Docker更新容器的环境变量
我已经设置了带有多个docker容器的服务器,可以使用jwilders
nginx reversre proxy访问。运行容器时,可以设置VIRTUAL_HOST环境变量。在容器启动后,我一直试图找出一种更新这些方法的方法。
解决方案在这里发布:
您只需停止docker daemon并在以下位置更改容器配置
/var/lib/docker/containers/[container-id]/config.json
要求您停止docker守护程序,但我不想不必诉诸于此。
另一个在这里,使用docker
commit来保存实例信息:
话虽如此,通过将其提交为新映像,您可以保留容器中文件系统的更改;
$ docker run -it --name=foobar alpine sh
$ docker commit foobar mynewimage
$ docker rm foobar
$ docker run -it --name=foobar mynewimage sh
尽管对于更改环境变量来说,这似乎也有点过头。
我查看了docker
update,但这主要是为了重新配置容器资源。
当然,如果没有其他选择,我将使用上面的两种方法,但是我想知道是否有人找到了其他解决方案?
回答:
销毁您的容器,并使用来使用新的环境变量开始一个新的容器docker run -e
...。这与在正在运行的进程中更改环境变量相同,您可以先停止它,然后使用传入的新值重新启动。用销毁并重新创建新容器代替重新启动进程的概念。
如果您的容器中包含无法丢失的文件,则应该使用卷。容器文件系统的其他内容应该是一次性的或不可变的。
以上是 使用Docker更新容器的环境变量 的全部内容, 来源链接: utcz.com/qa/435707.html