docker 网络 link 到 2 个或多个容器

docker network link to 2 or multiple containers

根据docker link docs我只能--link一个(已经运行)容器来访问该容器的内部端口。

我怎样才能 link 一个容器到 2 个或更多其他容器? (MongoDB 和我的另一个 Web 服务。)

(现在我将第二个容器的端口暴露给主机,然后通过 host:port 访问,也可能的解决方法是 Let two Containers getting linked to eachother。)

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

Docker Networking

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

我运行上面的命令并且有效。

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

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