Docker容器网络栈管理指南
1. 容器网络基础
在Docker环境中,容器之间可以相互ping通,并且能够访问外部网络。为了实现外部访问,容器的端口会被映射到主机端口。容器使用网络命名空间,当创建第一个容器时,会为其创建一个新的网络命名空间。
在容器和Linux桥之间会创建一个虚拟以太网(vEthernet或vEth)链接。容器eth0端口发送的流量通过vEth接口到达桥接器,然后进行交换。可以使用以下命令查看Linux桥:
$ sudo brctl show
该命令的输出类似于以下内容,显示桥接器名称以及映射到的容器上的vEth接口:
$ bridge name bridge id STP enabled interfaces
docker0 8000.56847afe9799 no veth44cb727 veth98c3700
2. 容器与外部世界的连接
主机上的iptables NAT表用于伪装所有外部连接,示例如下:
$ sudo iptables -t nat -L -n
...
Chain POSTROUTING (policy ACCEPT) target prot opt
source destination MASQUERADE all -- 172.17.0.0/16
超级会员免费看
订阅专栏 解锁全文
687

被折叠的 条评论
为什么被折叠?



