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?