我想知道如何链接已经运行的docker容器。这可能吗?
例如,如果我有2个app(app1
和app2
)图片以及一个正在运行的mongo
个容器,我可以很容易地将它们链接起来run
通过执行以下操作:
docker run -d -name app1 --link mongo:mongo -p 8080:8080 app1
docker run -d -name app2 --link mongo:mongo -p 8081:8081 app2
这很有效。但是,假设我已经运行了app1
和app2
而没有在开始时将它们链接到mongo容器,我该如何连接应用程序'容器到正在运行的mongo容器?
答案 0 :(得分:0)
您需要将容器中的端口暴露给主机,然后容器可以通过HOST_IP相互ping通(从容器内部 - 默认为172.0.0.1)。
示例:您的app
正在8080上运行而您的mongo
正在8000上运行(公开端口到主机)
exec在您的应用容器中,并使用ifconfig
之后,尝试ping你的mongo服务
curl $HOST_IP:8000 (I'm not sure about this command ^^ if it's not ok, google it)