公开Docker容器端口

时间:2015-06-17 19:41:31

标签: network-programming docker ports

我了解要在Docker容器中公开端口,您可以使用-p标记(例如-p 1-100:1-100)。但是有一种很好的方法可以将大量可能的端口从容器暴露给主机吗?例如,如果我在一个位于VM中的容器中运行各种路由器,并且我希望将容器中的所有端口从32768向上暴露到65535,那么有一种很好的方法吗?目前我已尝试使用-p标志,并抱怨内存分配错误。

2 个答案:

答案 0 :(得分:2)

NVM。我想出了我的误解。 -P是我想要的,我希望公开而不是显式映射端口。

答案 1 :(得分:1)

TL;博士

docker run --net=host ...

Docker为容器提供不同的网络模式。默认情况下,网络模式为bridge,这意味着需要公开端口。

如果您使用网络模式host运行容器,则您不需要公开/转发端口,因为docker主机和容器将共享相同的网络接口。

在容器中,localhost将引用docker主机。事实上,在容器中打开的任何端口都在docker主机网络接口上打开。