Docker外部可路由容器

如何在单个虚拟机上创build外部可路由的Docker容器?

这是我的困境…我试图设置1..n容器运行在Ubuntu 16.04虚拟机,提供了一个独特的外部可路由的IP地址,并允许每个容器监听相同的端口(避免主机上的端口冲突)。

我已经下了添加IP地址到NIC的路线,然后将它们分配给各个容器,这是可行的,但这是一个相当麻烦的解决scheme。 我也尝试过实施一个MACVlan Dockernetworking,认为它可以解决这个问题,但是没有一个容器可以到达networking之外(即不能在容器和另一个虚拟机之间进行ping操作)。 从我读到的关于MACVlan的内容来看,我知道容器不能和主机通信,但是我认为他们可以接触到同一个子网/networking上的其他系统。 使用MACVLan,容器可以相互通话。

有没有人有一个可能的解决scheme,我正在寻找的实施,或者我坚持添加IP地址的虚拟机的网卡?