如果我需要分配许多端口,如何将Docker容器绑定到特定的外部IP地址?

时间:2016-08-20 12:50:43

标签: docker

How could I bind docker container to specific external interface相关,但更难处理。

我有一台带有10个IP地址的服务器机器(在1个绑定接口上,看起来像10个lo:x接口)。如果我通过提供绑定到类似

的IP地址来启动docker实例

-p IP:port:port 要么 -p IP:port:port / udp

它可以工作,并且我得到预期的结果,到指定IP地址的传入连接转到指定的docker容器。

但问题是,我需要容器来操作各种UDP端口(16K),对于WebRTC媒体流,Docker不能分配这么多端口,它只是挂起(众所周知的,很好的)描述问题,带有一系列端口的-p仅在范围小于1000-2000时才起作用,16000将不起作用。

我可以使用--net = host来解决它,但它打破了IP的事情:每个容器都绑定到每个IP。

有什么方法吗?或者我所能做的就是安装一个完整的虚拟化系统并使用虚拟机而不是docker容器(这将是一个令人头痛的问题,并且难以维护,特别是因为我需要多台服务器)。

有效地,我正在寻找一种方法将一些网络接口完全重定向到Docker实例。如果我有一个Docker实例“fe2ce5b3de59”,使用--net = none(提供一个干净的工作表)启动,接口lo:0,我该怎么办?我希望每个进入任何TCP或UDP端口lo:0进入容器接口的同一端口,然后返回,容器完全打开?

0 个答案:

没有答案