docker添加新的环境变量_使用Docker更新容器的环境变量 - Go语言中文社区

docker添加新的环境变量_使用Docker更新容器的环境变量


I've setup a server with multiple docker containers, accessible with jwilders nginx reversre proxy. When you run the containers you can set the VIRTUAL_HOST environment variable. I've been trying to figure out a way of updating these after a container was launched.

A solution posted here :

You just stop docker daemon and change container config in

/var/lib/docker/containers/[container-id]/config.json

Requires you to stop the docker daemon, but I would prefer not to have to resort to that.

Another here, uses docker commit to preserve the instance information:

Having said that, you -can- preserve filesystem changes in the

container, by committing it as a new image;

$ docker run -it --name=foobar alpine sh

$ docker commit foobar mynewimage

$ docker rm foobar

$ docker run -it --name=foobar mynewimage sh

Though this also seems to be a bit over the top for just changing an environment variable.

I've looked in docker update, but that is mainly for reconfiguring container resources.

Of course, if I have no other choice I will use either of the methods above, but I'm wondering if anyone has found some other solution?

解决方案

Destroy your container and start a new one up with the new environment variable using docker run -e .... It's identical to changing an environment variable on a running process, you stop it and restart with a new value passed in. Replace the concept of restarting a process with destroying and recreating a new container.

If your container contains files that cannot be lost, then you should be using volumes. The other contents of the container filesystem should be either disposable or immutable.

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39644494/article/details/112044442
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-14 20:51:23
  • 阅读 ( 1183 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢