容器网络

1. 容器网络模式

1.1 bright 模式

定义:为 docker 默认网络,有独立的 network namespace,docker 启动后创建一个 docker0 网桥,默认创建的容器也是添加到这个网桥中
格式:--net=bright(默认可不用写)

// 例如
宿主机:172.17.0.1
容器:172.17.0.x

1.2 host 模式

定义:没有独立的 network namespace,而是与宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主机的。容器除了网络,其他都是隔离的
格式:--net=host

1.3 none模式

定义:有独立的 network namespace,但不为容器进行任何网络配置,没有eth0,需要我们手动配置
格式:--net=none

1.4 container 模式

定义:与指定的容器使用同一个network namespace,具有同样的网络配置信息,两个容器除了网络,其他都还是隔离的
格式:--net=container:Name/ID
// 例子
docker run -it --name=t1 centos bash
docker run -it --name=t2 --net=container:t1 centos bash

t1: 172.18.0.2
t2: 172.18.0.2

1.5 自定义网络

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

docker network create net_test
docker run -it --net=net_test --name=c1 centos bash
docker run -it --net=net_test --name=c2 centos bash

在c2主机上:
ping c1 能通

2. 容器网络访问原理

2.1

图片.png

2.2

图片.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容