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
网友评论