- 查看本机的网络namespace
sudo ip netns list
- 删除网络namespace
sudo ip netns delete test1
- 添加网络namespace
sudo ip netns add test1
- 查看网络namespace
sudo ip netns exec test1 ip a
sudo ip netns exec test1 ip link
- 让namespace的ip up起来
sudo ip netns exec test1 ip link set dev lo up
- 添加一对link接口
sudo ip link add veth-test1 type veth peer name veth-test2
- 把link的veth-test1接口添加到test1中
sudo ip link set veth-test1 netns test1
- 给veth-test1设置ip地址
sudo ip netns exec test1 ip addr add 192.168.1.1/24 dev veth-test1
- 让test1的veth-test1接口up起来
sudo ip netns exec test1 ip link set dev veth-test1 up
- 查看本机docker网络情况
sudo docker network ls
- 查看网络详情, 6ef8000d3851为网络id
sudo docker network inspect 6ef8000d3851
- 检查桥接状态
brctl show
如果不必别brctl命令的话,安装一下bridge-utils
sudo yum install bridge-utils
- 创建两个容器直接网络link, test2 link 到test1上
sudo docker run -d --name test2 --link test1 busybox /bin/sh -c "while true; do sleep 3600; done"
这个时候test2 可以直接通过test1的名字连接到test1
- 创建bridge
sudo docker network create -d bridge my-bridge
- 创建容器指定运行在某个bridge上 --network my-bridge
sudo docker run -d --name test3 --network my-bridge busybox /bin/sh -c "while true; do sleep 3600; done"
- 把已经创建好的容器link到bridge上
sudo docker network connect my-bridge test2
主: 自己创建的bridge,上面连接的网络是可以直接通过name进行通讯
- 创建overlay网络
docker network create -d overlay demo