我希望能够在不重新启动链接到它的所有其他容器的情况下升级容器。
根据这个 https://docs.docker.com/userguide/dockerlinks/#container-linking
如果重新启动源容器,则链接容器/ etc / hosts 文件将使用源容器的新IP自动更新 地址,允许链接的通信继续。
听起来不错,但我不想重启。我需要升级到更新版本。它不起作用。
让我们从上面的文章中看到这个例子:
sudo docker run -d --name db training/postgres
sudo docker run -t -i --rm --link db:db training/webapp /bin/bash
cat /etc/hosts
重启db container:
sudo docker restart db
并在内部运行容器cat / etc / hosts中显示db的 new ip地址。
但我想要的是:
sudo docker stop db
sudo docker rm db
sudo docker run -d --name db training/postgres:new_version
现在在运行容器cat / etc / hosts中将显示db的旧 ip地址。链接坏了。
有没有办法解决这个问题?
顺便说一下,我所有的容器都在同一台主机上运行,所以大使不是一个选择。