我已经设置了带有多个docker容器的服务器,可以使用jwilders nginx reversre proxy访问。运行容器时,可以设置VIRTUAL_HOST环境变量。在容器启动后,我一直试图找出一种更新这些方法的方法。
解决方案在这里发布:
您只需停止docker daemon并在以下位置更改容器配置 /var/lib/docker/containers/[container-id]/config.json
您只需停止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 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 run -e ...
如果您的容器中包含无法丢失的文件,则应该使用卷。容器文件系统的其他内容应该是一次性的或不可变的。