五张图带你弄懂容器网络的工作原理

使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的 Linux 进程,运行容器并不需要镜像,以及另一个方面,构建镜像需要运行一些容器。
 
现在是时候解决容器网络问题了。或者更准确地说,单主机容器网络问题。本文会回答这些问题:
 
 如何虚拟化网络资源,让容器认为自己拥有独占网络?
 如何让容器们和平共处,之间不会互相干扰,并且能够互相通信?
 从容器内部如何访问外部世界(比如,互联网)?
 从外部世界如何访问某台机器上的容器呢(比如,端口发布)?
最终结果很明显,单主机容器网络是已知的 Linux 功能的简单组合:
 
 网络命名空间(namespace)
 虚拟 Ethernet设备(veth)
 虚拟网络交换机(网桥)
 IP路由和网络地址翻译(NAT)
并且不需要任何代码就可以让这样的网络魔法发生……

dawei

【声明】:达州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。