根据docker link docs我只能 - 链接到一个(已经在运行的)容器来访问该容器的内部端口。
如何将一个容器链接到两个或更多其他容器? (在我的情况下,MongoDB和其他Web服务。)
(现在我将第二个容器的端口暴露给主机,然后通过host:port访问,也可能是Let two Containers getting linked to eachother。
答案 0 :(得分:25)
docker run -d --link node1:node1 --link node2:node2 --link node3:node3 -p hostport:containerport your-image
我运行上面的命令并且有效。
答案 1 :(得分:4)
或者,您可以通过在docker守护程序的命令行中添加--icc = true来打开容器间通信,并且您不必链接容器,只需使用Docker主机的IP地址访问它们,容器发布的端口。
答案 2 :(得分:1)
要获得简单的解决方案,您可以使用Docker-compose
。在你撰写文件(docker-compose.yml)中使用选项links
链接到另一个服务中的容器。指定服务名称和链接别名(SERVICE:ALIAS),或仅指定服务名称。
container_name:
links:
- node1
- node2
- node3:alias3
- noden