我跟随coder-compose
配置:
version: '2'
services:
nginx:
build: ./nginx
links:
- tomcat1:tomcat1
- tomcat2:tomcat2
- tomcat3:tomcat3
ports:
- "80:80"
tomcat1:
build: ./tomcat
ports:
- "8080"
tomcat2:
build: ./tomcat
ports:
- "8080"
tomcat3:
build: ./tomcat
ports:
- "8080"
所以,问题是,如何从链接的容器访问主机网络:tomcat1
,tomcat2
,tomcat3
。这是图表:
更新 似乎,我的图表并没有多大帮助。 Nginx是负载均衡器,Tomcat 1-3是应用程序节点。部署网络。应用程序需要访问互联网资源。
答案 0 :(得分:0)
默认情况下,Internet访问在所有容器上都处于活动状态(在桥接模式下)。您需要检查的是,如果您在代理后面,是否设置了http(s)_proxy变量。
如果您的问题是如何从容器访问docker host(而不是反过来:从本地docker主机访问容器),那么您需要检查容器的路由表:请参阅“{{3} }“
export DOCKER_HOST_IP=$(route -n | awk '/UG[ \t]/{print $2}')
最近(2016年6月)尝试在所有正在运行的容器的/etc/hosts
中添加dockerhost作为条目:From inside of a Docker container, how do I connect to the localhost of the machine?。