从链接容器主机网络访问

时间:2016-06-23 07:22:55

标签: docker docker-compose

我跟随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"

所以,问题是,如何从链接的容器访问主机网络:tomcat1tomcat2tomcat3。这是图表:

enter image description here

更新 似乎,我的图表并没有多大帮助。 Nginx是负载均衡器,Tomcat 1-3是应用程序节点。部署网络。应用程序需要访问互联网资源。

1 个答案:

答案 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?