Pipework安装
git clone https://github.com/jpetazzo/pipework.git
cp pipework/pipework /usr/local/bin/
Pipe常用命令
-
将容器连接到指定网桥:
pipework <bridge_name> <container_name_or_id> <ip_address>/<subnet_mask>[@<gateway>] [options]
-
将容器连接到物理网卡:
pipework <physical_interface> <container_name_or_id> <ip_address>/<subnet_mask>[@<gateway>] [options]
-
从容器中移除网络接口:
pipework --unbridge <container_name_or_id>
-
显示容器的网络信息:
pipework --show <container_name_or_id>
-
显示可用的网络接口列表:
pipework --list
这些命令中的 <bridge_name>
是指要连接的目标网桥名称,<container_name_or_id>
是指要操作的容器名称或容器ID,<ip_address>/<subnet_mask>
是指要为容器分配的IP地址和子网掩码,<gateway>
是可选的网关地址。
此外,pipework
还提供其他选项,例如设置容器的MAC地址、修改容器的默认路由等。您可以使用 pipework --help
命令查看更详细的帮助信息和选项列表。
使用Pipework+ovs实现docker之间的网络连接
在宿主机上创建两个docker容器,网络指定为none,后面使用pipework在设置
docker run -itd --name centos6 --network none --privileged=true wyx/centos
docker run -itd --name centos7 --network none --privileged=true wyx/centos
创建ovs网桥
ovs-vsctl add-br s1
ifconfig s1 up
给网卡设置ip
ip addr add 172.18.0.1/22 dev s1
使用pipework建立网桥s1与容器之间的连接,为容器创建网卡
pipework s1 centos6 172.18.0.2/22
pipework s1 centos7 172.18.0.3/22
测试,在任一容器中可ping通另一个容器