docker网络模式详解
本文主要讲解Docker4种常见的网络模式。
Docker服务启动之后,默认会创建一个docker0网桥,Docker就是通过这个网络设备为容器提供各种网络服务的,docker0在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。
docker run启动一个容器时,可以使用--net选项来指定容器的网络模式,如下:
(1)、bridge模式:使用--net=bridge指定,这是Docker启动容器默认使用的网络模式;
(2)、host模式:使用--net=host指定;
(3)、none模式:使用--net=none指定;
(4)、container模式:使用--net=container-id or container-name指定。
下面分别讲解以上这四种网络模式
1、host模式
启动容器时使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共享一个Network Namespace,容器不会虚拟出自己的网卡、配置自己的IP,而是使用宿主机的IP和端口。容器的其他方面,如文件系统、进程列表还是和宿主机隔离的。
host模式如下图所示:
举例说明:
首先查看宿主机的网络配置
使用host模式启动一个容器,然后查看容器的网络配置: