dockernetworking链接到2个或多个容器

根据docker链接文档,我只能链接到一个(已经运行)的容器来访问该容器的内部端口。

如何将一个容器链接到两个或更多其他容器? (在我的情况下,MongoDB和另一个Web服务。)

(现在我正在将第二个容器的端口暴露给主机,然后通过主机:端口访问,也可能的解决方法可能是让两个容器链接到彼此 。)

docker run -d --link node1:node1 --link node2:node2 --link node3:node3 -p hostport:containerport your-image 

我运行上面的命令,它的工作原理。

或者,您可以通过在docker守护进程的命令行中添加–icc = true来打开容器间通信,并且不必链接容器,只需使用Docker主机的IP地址和已发布的容器来访问它们端口。

Dockernetworking

为了一个简单的解决scheme,你可以使用Docker-compose 。 在您撰写文件(docker-compose.yml)中使用选项links链接到另一个服务中的容器。 请指定服务名称和链接别名(SERVICE:ALIAS),或者仅指定服务名称。

 container_name: links: - node1 - node2 - node3:alias3 - noden