docker集装箱可以连接到SRIOV虚拟function吗?
使用现有的支持SR-IOV的NIC是非常棒的。 我想了解,如果一个docker集装箱可以连接到虚拟function,使他们通过NIC硬件桥(而不是虚拟docker0桥)进行通信。
更具体地说,考虑这种情况:
容器A连接到VF#1
容器B连接到VF#2
A和B连接在一起,当它们交换数据时,它应该发生在NIC(而不是docker0)上的硬件网桥上。
在Docker中是否支持上述方法?
如果没有,pipe道工可以帮忙吗? (我听说pipe道可以做很棒的事情)
例子会非常有帮助。
那么,我认为pipe道脚本中的一些修改可以让我们将VF添加到容器中。 以这种方式设置的容器能够相互ping通,而无需创buildmacvlan子接口或软件桥接。 这表示适配器中的硬件网桥正在为它们进行L2交换。
pipe道的变化基本上是这样的:
[ "$IFTYPE" = phys ] && { [ "$VLAN" ] && { [ ! -d "/sys/class/net/${IFNAME}.${VLAN}" ] && { ip link add link "$IFNAME" name "$IFNAME.$VLAN" mtu "$MTU" type vlan id "$VLAN" } ip link set "$IFNAME" up IFNAME=$IFNAME.$VLAN } # Let's not create the macvlan subinterface # GUEST_IFNAME=ph$NSPID$CONTAINER_IFNAME # ip link add link "$IFNAME" dev "$GUEST_IFNAME" mtu "$MTU" type macvlan mode bridge GUEST_IFNAME=$IFNAME ip link set "$IFNAME" up } ip link set "$GUEST_IFNAME" netns "$NSPID" ip netns exec "$NSPID" ip link set "$GUEST_IFNAME" name "$CONTAINER_IFNAME" ---
另外一个更好的方法是添加一个新的参数(“ – direct-attach”或其他)到脚本来处理指定的接口
- 在Docker容器中运行Vagrant
- 在Docker中configurationsyslog将容器日志写入文件
- 如何根据Docker镜像大小估算虚拟机资源(CPU,RAM,HDD等)? 我的图像是巨大的,5-10 GB
- Docker:在主机上的一个priveleged容器中运行一个任意的命令
- 我刚刚在Docker容器中创build的文件在Windows主机文件系统中的位置?
- Dockernetworking命名空间
- vagrant:boot2docker:无法在本地查找图像“drupal”
- 2docker之间的networking组成
- 无法在Travis-CI中通过docker编译cpp:/ usr / bin / ld:无法打开输出文件a.out:Permission denied