端口转发Ubuntu-Docker

端口转发Ubuntu-Docker,docker,port,ubuntu-14.04,Docker,Port,Ubuntu 14.04,我有以下问题: 假设我在主机上启动了两个Docker容器:A和B docker run A -ti -p 2000:2000 docker run B -ti -p 2001:2001 我希望能够通过以下方式从INTERNET访问每个容器: 如何做到这一点?这里剩下的等式就是正常的TCP/IP流。您需要确保以下几点: 如果主机在其物理接口上对传入流量有一些隐式拒绝,则需要打开端口2000和2001,就像对任何服务(Docker或not)一样 如果主机位于NAT或其他外部路由方式之后,

我有以下问题:

假设我在主机上启动了两个Docker容器:A和B

docker run A -ti -p 2000:2000
docker run B -ti -p 2001:2001
我希望能够通过以下方式从INTERNET访问每个容器:


如何做到这一点?

这里剩下的等式就是正常的TCP/IP流。您需要确保以下几点:

  • 如果主机在其物理接口上对传入流量有一些隐式拒绝,则需要打开端口2000和2001,就像对任何服务(Docker或not)一样
  • 如果主机位于NAT或其他外部路由方式之后,则还需要为这些端口打孔
  • 您需要外部IP地址(连接到主机的IP地址或NAT前面允许访问端口的IP地址)

就Docker而言,您已经完成了正确打开容器中运行的服务端口所需的操作。

这里的问题是什么?很简单。2000和2001不是http端口。iptables在这里有用吗?