十三、docker网络的命名空间

ip a

查看当前电脑的全名空间

查看docker容器中的网络命名空间

sudo docker exec  容器id   ip a

查看本机有的网络命名空间

sudo ip netns list

删除网络命名空间

sudo ip netns delete  xxx

添加网络命名空间

sudo ip netns add xxxx

每个容器都有独立的命名空间

brctl 查看 连接网卡

image.png

容器之间的link

容器间可以通名名称进行ping通

创建docker网络

docker network create -d bridge my-bridge
十三、docker网络的命名空间_第1张图片
image.png

查看当前网络

sudo docker network ls


sudo docker network inspect   网络容器 id号

把某个docker 容器连接 到指定网络中

sudo docker network connect my-bridge test2

网络命名空间


十三、docker网络的命名空间_第2张图片
image.png

linux Veth pair

sudo ip link add veth-test1 type veth  peer name veth-test2

把veth-test1添加到mytest1全名空间

sudo ip link set veth-test1 netns mytest1

给命名空间 mytest1 中的 veth-test1 添加ip地址

sudo ip netns exec mytest1 ip addr add 192.168.3.1/24 dev veth-test1

给命名空间 mytest2 中的 veth-test2 添加ip地址

sudo ip netns exec mytest2 ip addr add 192.168.3.2/24 dev veth-test2

发现 veth-test1和veth-test2还是没有ip地址并且是DOWN状态
如下图


十三、docker网络的命名空间_第3张图片
image.png

启动网卡就好了

sudo ip netns exec mytest1 ip link set dev veth-test1 up
sudo ip netns exec mytest2 ip link set dev veth-test2 up

查看成对的veth
brctl如果没有先安装

sudo yum install bridge-utils
brctl show
image.png
十三、docker网络的命名空间_第4张图片
image.png

你可能感兴趣的:(十三、docker网络的命名空间)