如何将两个正在运行的docker容器链接在一起?

时间:2016-11-23 23:08:27

标签: docker

我想知道如何链接已经运行的docker容器。这可能吗?

例如,如果我有2个app(app1app2)图片以及一个正在运行的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

这很有效。但是,假设我已经运行了app1app2 而没有在开始时将它们链接到mongo容器,我该如何连接应用程序'容器到正在运行的mongo容器?

1 个答案:

答案 0 :(得分:0)

您需要将容器中的端口暴露给主机,然后容器可以通过HOST_IP相互ping通(从容器内部 - 默认为172.0.0.1)。

示例:您的app正在8080上运行而您的mongo正在8000上运行(公开端口到主机) exec在您的应用容器中,并使用ifconfig

获取$ HOST_IP

之后,尝试ping你的mongo服务

curl $HOST_IP:8000 (I'm not sure about this command ^^ if it's not ok, google it)