[docker]docker0网络模型探究

本文详细探讨了Docker的网络模型,特别是docker0网络桥接机制。通过创建多个容器并观察其网络命名空间(namespace)的变化,展示了每个容器如何拥有独立的网络命名空间,并通过veth配对与docker0网桥相连,实现容器间的网络通信。
摘要由CSDN通过智能技术生成

原文连接:https://www.cnblogs.com/iiiiher/p/8135024.html

docker0网络模型step by step

将docker的ns软链到linux ns

$ ln -s /var/run/docker/netns /var/run/netns

查看ns,无

$ ip netns 
$ 

启动b1

$ docker run -itd --name b1 busybox
af051e24e639508da0f2824b2da001ca54f61fced0d73fdbe5604331ef804489

查看ns,有1个了

$ ip netns 
2ea8e31a85ef (id: 0)

删除b1

$ docker rm -fv b1
b1

即刻查看ns-报错

$ ip netns 
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
2ea8e31a85ef

过了2-5min查看ns-无(docker延迟处理ns)

$ ip netns 
$ 

批量观察

$ docker run -itd --name b1 busybox
184f7ce462677e14323517a66615051269d26cf13a17b3e61dc8920eccae3731
$ ip netns
147d24ac5383 (id: 0)

$ docker run -itd --name b2 busybox
6fe77ef5416e2b3b5f781df454b2c854e24c003eac8e90f0641dd14f1f8aafce
$ ip netns
13da34d6e0d8 (id: 1)
147d24ac5383 (id: 0)

$ docker run -itd --name b3 busybox
4db189e89c550e8549300e2284942135dce0126a42e5166f8c62a23060320077
$ ip netns
eda4e0f95513 (id: 2)
13da34d6e0d8 (id: 1)
147d24ac5383 (id: 0)

$ docker run -itd --name b4 busybox
94f88f61efadd113eca79d21c783a01e5c3a2aa8ee3ff0608fa38d19afc5fab9
$ ip netns
d333e65e89d3 (id: 3)
eda4e0f95513 (id: 2)
13da34d6e0d8 (id: 1)
147d24ac5383 (id: 0)

docker0网络模型小结

参考: http://blog.daocloud.io/docker-bridge/

可见每容器一个namespace

ns1 容器b1---veth1--> docker0
ns2 容器b2---veth2-->
ns3 容器b3---veth3-->
ns4 容器b4---veth4-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值