端口转发Ubuntu – Docker

我有以下问题:

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

docker run A -ti -p 2000:2000 docker run B -ti -p 2001:2001 

我希望能够从互联网上获得这个容器的每一个:

  • http://example.com:2000
  • http://example.com:2001

如何达到?

这里等式的其余部分只是正常的TCP / IPstream。 您需要确保以下内容:

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

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