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:数据走向:
数据包 --> veth2 --> veth0 --> docker0 -(SNAT)-> eth0 --> 外界
数据包 --> eth0 -(DNAT)-> docker0 --> veth0 --> veth2
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。