【问题标题】:Docker networking and portsDocker 网络和端口
【发布时间】:2014-11-11 12:08:58
【问题描述】:

我希望有人能帮助我理解和解释 Docker 使用的 TCP 端口范围和网络协议,以便我实现我想要做的事情。

我的情况是我创建了一个 docker proxy-container,它公开了 80:80 >443:443 这个代理容器然后将流量重定向到另一个容器(我们称之为 container-apache)服务器使用非标准端口,例如 10300:80。代理重定向运行良好,到目前为止我正在实现我所需要的。

但是,当我将网络服务器代理容器暴露给世界时,我只能在防火墙允许所有 TCP 端口和协议的情况下访问 apache 容器。如果我只允许 HTTP/S,或者如果我创建一个只公开 10300 的客户服务,我将无法访问 apache 容器,并且我不想公开此网络服务器上的所有端口和协议。

有谁知道哪些是最少的服务或只是需要公开才能使其工作的服务。

我不确定我的问题是否清楚。如果有人遇到类似问题,知道如何解决此问题或有一些见解,我将不胜感激。

谢谢

【问题讨论】:

    标签: sockets tcp proxy docker network-protocols


    【解决方案1】:

    您需要使用 docker 的内部网络 IP(例如 172.10.xxx.xxx)配置 proxy-container。但是,您是否需要一些工具来发现正在运行或检查和重建 proxy-container 的实例。

    您也可以使用 --name docker 参数运行 container-apache 并使用 --link 参数运行 container-proxy 到 docker add container-proxy 在 hosts 文件中的 conainer-apache 名称。例如,在您的代理反向配置中,您使用 webapp1 作为容器-apache 名称服务器。

    $docker run -d --name apache1 container-apache
    
    $docker run -d --link apache:webapp1enter container-proxy
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      相关资源
      最近更新 更多