关于Docker网络模式梳理

旧时模样 提交于 2020-02-29 13:43:28

Docker大致可以分为五种网络模式:

1. bridge
--network=bridge
默认网络,Docker启动后创建一个docker0网桥,默认创建的容器是添加到这个网桥中

2. host
--network=host
容器不会获得一个独立的network namespace,而是于宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主机的。容器除了网络,其他都是隔离的

3. none
--network=none
容器获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置

4. container
--network=container:Name/ID
与指定容器使用同一个network namespace,具有同样的网络配置信息,两个容器除了网络,其他都还是隔离的

5. 自定义网络
与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名或者主机名进行容器间的网络通信


PS:数据走向:
数据包 --> veth1 --> veth0 --> docker0 -(SNAT)-> eth0 --> 外界
数据包 --> eth0 -(DNAT)-> docker0 --> veth0 --> veth1

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!