2017-09-01 135 views
0

我的应用程序在docker容器内部创建了一个tap界面。 例如tap_1:ip:192.168.2.1将Docker界面从Docker容器暴露给Docker主机

我的要求是任何进入docker主机的数据包都可以直接发送到Docker容器内的tap接口。我基本上试图避免首先发送到docker0的一跳,然后将其转发到特定的tap接口。

我试过通过管道和桥梁网络,但似乎他们都不能解决我的需求。

感谢您的帮助。 谢谢 Ankit

+0

我不是网络专家,所以不是很确定。但你应该在容器内尝试iptables来将传入的流量路由到'192.168.2.1' –

回答

0

您需要为正在启动的容器设置功能。默认情况下,Docker容器不能完成他们想要的任何事情,除非您为其分配功能。

使用功能,您几乎可以将网络设备映射到容器,然后执行任何您想要的操作。不知道这是否是最佳的方式,但它会让你开始。

此外,容器网络的工作原理略有不同,具体取决于您使用的是哪一层。

例子:

docker run --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun -i -t alpine /bin/ash 
相关问题