Docker网络和端口

时间:2014-09-17 12:41:22

标签: sockets tcp proxy docker network-protocols

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

我的情况是我创建了一个停靠 80:80 443:443 此代理容器然后将流量重定向到另一个容器(让我们称之为 container-apache )服务器使用非标准端口,例如 10300:80 。代理重定向运行良好,我正在实现我需要的东西,直到这一点。

然而,当我将web服务器暴露给世界的代理容器时,如果在我的防火墙中允许所有TCP端口和协议,我只能访问apache-container。如果我只允许HTTP / S或者我创建的客户服务只公开10300我无法访问apache-container,我不想公开这个网络服务器上的所有端口和协议。

有没有人知道哪些是最少量的服务或只是需要公开的服务才能使其发挥作用。

我不确定我的问题是否清楚。如果有人遇到类似的问题,知道如何解决这个问题,或者有一些见解,我会非常感激。

谢谢

1 个答案:

答案 0 :(得分:0)

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

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

$docker run -d --name apache1 container-apache

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