
1. Docker原生网络驱动程序
Docker提供了5种原生的Network drivers
[Step1] 在Docker安装时,会自动在主机上创建三个网络,通过命令查看当前系统存在的容器网络。
[root@redhat ~]# docker network ls
2. none网络
none网络是比较封闭的网络,对一些安全性要求比较高且不需要联网的场景中,可以使用none网络。none网络的drive类型为null,IPAM字段为空,挂载在none网络上的容器只有lo。
[Step1] 查看内置none网络模式的详细配置信息。
[root@redhat ~]# docker network inspect none
3. host网络
挂载在host网络上的容器共享宿主机的 network namespace,也就是容器的网络配置和host网络配置一样。

4. bridge网络
docker在安装后,会自动创建一个docker0网桥。创建容器时,容器会默认挂载到docker0网桥上。可以将docker0认为是一个DHCP地址池,当创建容器时,docker0会为该容器分配一个地址,用于实现主机与容器的互访。
[Step1] 查看当前主机docker0的网络配置。
[root@redhat ~]# ip add show docker0
[Step2] 查看内置bridge网络模式的详细配置信息。
[root@redhat ~]# docker network inspect bridge
[Step3] 创建一个容器kylin,然后查看该容器的网络配置。
[root@redhat ~]# docker run -d --name kylin kylinsp3 /sbin/init
[root@redhat ~]# docker inspect kylin | grep -A 15 Networks
5. user-defined bridge网络
在Docker中,用户可以根据自己的需求去创建bridge网络,称为user-defined bridge。
[Step1] 创建一个user-defined bridge,命名为bdg1。
[root@redhat ~]# docker network create --driver bridge --subnet 192.168.10.0/24 --gateway 192.168.10.1 bdg1
[root@redhat ~]# docker network ls
[Step2] 创建两个容器并将其加入到bdg1网络。
[root@redhat ~]# docker run -d --name kylin01 --network bdg1 kylinsp3:latest /sbin/init
[root@redhat ~]# docker run -d --name kylin02 --network bdg1 kylinsp3:latest /sbin/init
[root@redhat ~]# docker inspect kylin01 | grep -A 11 Networks
[root@redhat ~]# docker inspect kylin02 | grep -A 11 Networks
