Docker 如何在不重新启动的情况下链接到其他容器?
X-post从 假设我运行以下命令将web容器链接到db容器-Docker 如何在不重新启动的情况下链接到其他容器?,docker,Docker,X-post从 假设我运行以下命令将web容器链接到db容器- docker run -d -P --name web --link db training/webapp python app.py 现在,我希望我的web容器链接到其他容器,而无需重新启动web容器。可能吗 否,一旦启动,就无法将容器链接到其他容器。但您可以将新容器链接到web容器: docker run -d -P --name myapp --link web <image> <command>
docker run -d -P --name web --link db training/webapp python app.py
现在,我希望我的web容器链接到其他容器,而无需重新启动web容器。可能吗 否,一旦启动,就无法将容器链接到其他容器。但您可以将新容器链接到
web
容器:
docker run -d -P --name myapp --link web <image> <command>
docker run -d -P --name web2 --link db training/webapp python app.py
话虽如此,由于您的第一个web
容器正在运行,您还可以运行:
docker inspect web
查找该容器的详细信息,并查看是否要在您创建的新容器中使用它们。您可以尝试的另一件事是使您的
web
容器具有交互性,这样一旦启动它,您就可以在运行时对其进行修改。实际上,有办法克服此限制
在这种情况下,您可以使用以下过程将LINKED_CONTAINER_IP和LINKED_CONTAINER_NAME直接添加到“主机容器”的/etc/hosts文件中:
docker-inspect--format'{{.NetworkSettings.IPAddress}}'容器ID
/etc/hosts
,如下所示
- 首先交互式访问正在运行的主机容器
docker exec-it集装箱船sh
- 进入shell提示符后,使用以下命令将行添加到
文件/etc/hosts
echo“LINKED\u CONTAINER\u IP LINKED\u CONTAINER\u NAME”>/etc/hosts
- 使用
ping链接的\u容器\u名称进行验证