将Tap接口从docker容器暴露给docker主机

时间:2017-09-01 06:40:39

标签: docker networking docker-networking tun

我的应用程序在docker容器中创建了一个tap接口。 例如tap_1:ip:192.168.2.1

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

我尝试过管道和桥接网络,但似乎没有一个能解决我的要求。

感谢您的帮助。 谢谢 ANKIT

1 个答案:

答案 0 :(得分:0)

您需要为正在启动的Container设置功能。默认情况下,除非您为其分配功能,否则docker容器无法执行所需的任何操作。

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

此外,根据您使用的是哪个层,容器网络的工作方式也不尽相同。

示例:

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