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 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
根据docker link docs我只能--link一个(已经运行)容器来访问该容器的内部端口。
我怎样才能 link 一个容器到 2 个或更多其他容器? (MongoDB 和我的另一个 Web 服务。)
(现在我将第二个容器的端口暴露给主机,然后通过 host:port 访问,也可能的解决方法是 Let two Containers getting linked to eachother。)
或者,您可以通过将 --icc=true 添加到 docker 守护程序的命令行来打开容器间通信,并且您不必 link 容器,只需使用 Docker 主机的 IP 地址和容器的已发布端口访问它们。
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