Docker容器的多个静态IP

我有一个Docker主机,应该允许每个容器有多个静态IP地址。 容器中的应用程序应该能够select从哪个地址向远程主机发送stream量(例如ping -I <source-address> example.com )。

想象一下这样的设置:将IP地址10.0.0.10 - 10.0.0.19分配给ContainerA,将10.0.0.20 - 10.0.0.29分配给ContainerB,依此类推。 任何到ContainerA的地址范围的stream量都被转发到ContainerA,而stream出的stream量源自ContainerA可以select的范围内的地址。 这同样适用于ContainerB。


在这里输入图像说明


在这里输入图像说明


默认--net=bridge模式似乎不支持这一点。 我能得到的最接近的是到ContainerA的任何地址的传入stream量都正确地转发到容器,但传出stream量总是始于同一个地址。

当使用--net=host ,第一个容器将附加到所有可用的IP地址,因此第二个容器将无法打开其IP范围中的套接字。

--ip docker run命令的--ip选项似乎已经接近我所需要的了,正如本篇博文中所解释的那样。 不幸的是,它似乎并不支持每个容器的多个静态IP。

如果更方便,使用CIDR子网而不是IP范围是好的。

我如何configurationDocker来实现这个function?