如何连接到本地machinadocker集装箱

我有两个10.XXX IP地址的主机。 一个在实验室,另一个在办公室。

现在我将172.17.XX安装在实验室主机上,并启动一个以ip 172.17.XX为例的容器。

我的问题是我如何从办公室主机访问容器?

我知道IP:端口映射可以使用,但我认为它实际上没有用。 因为如果我在实验室主机中有两个容器,并且都运行Web服务并需要公开80端口,但主机只有一个80端口。 同时,只有一个容器可以提供Web服务。

如果办公室主机可以得到172.17.XX IP,并在与容器相同的子网,这将是可以的。

有没有简单的方法来使它成为可能?

您可能已经知道这一点,但是您可以使用如下命令在端口8080上运行一个webservice容器,并在端口8888上运行另一个容器:

 docker run -d -p 8080:80 mycontainer1 docker run -d -p 8888:80 mycontainer2 

并在主机上使用URL访问他们,例如: http://lab:8080/http://lab:8888/

并在主主机的端口80上添加一个主服务器,该主服务器与各种服务有超链接,以便人们不必记住端口号。

如果你想要更加无缝的东西,你可以使用nginx作为从端口80到容器端口的反向代理 ,将不同的服务绑定到不同的Web目录。

可以为容器的服务分配一个IP地址。 如果您是组织的一部分,那么IT人员应该参与select适当的静态地址,并在DNS中为其指定一个名称。 有一些关于设置地址和路由到docker集装箱的技术细节的博客条目, 在这里和这里的 Stackoverflow