Docker的网络模式

Docker的网络模式

Docker的网络模式大概能够分为5种类型。安装完 Docker默认,宿主机默认会建立三个网络,分别是bridge网络,host网络,none网络,能够使用docker network ls命令查看。docker

image

1. None网络

这种网络模式下容器只有lo回环网络,没有其余网卡。none网络能够在容器建立时经过 --network=none 来指定。这种类型的网络没有办法联网,封闭的网络能很好的保证容器的安全性。安全

image

2.Host网络

经过命令--network=host 指定,使用host模式的容器能够直接使用docker host的IP地址与外界通讯,容器内部的服务端口也能够使用宿主机的端口,不须要进行NAT,host最大的优点就是网络性能比较好,可是docker host上已经使用的端口就不能再用了,网络的隔离性很差。网络

image


3.bridge网络

容器的默认网络模式,docker在安装时会建立一个名为docker0的Linux bridge,在不指定--network的状况下,建立的容器都会默认挂到docker0上面。ide

image

随便启动一个容器,查看新生成的网卡信息性能

image

建立一个容器以后一个新的网络接口被挂载到了docker0上,这个就是容器建立时建立的虚拟网卡。bridge模式为容器建立独立的网络栈,保证容器内的进程使用独立的网络环境,使容器之间,容器和docker host之间实现网络隔离。spa

4.container模式

建立容器时使用--network=container:NAME_or_ID这个模式在建立新的容器的时候指定容器的网络和一个已经存在的容器共享一个Network Namespace,可是并不为docker容器进行任何网络配置,这个docker容器没有网卡、IP、路由等信息,须要手动的去为docker容器添加网卡、配置IP等。3d

5.user-defined模式

用户自定义模式主要可选的有三种网络驱动:bridge、overlay、macvlan。bridge驱动用于建立相似于前面提到的bridge网络;overlay和macvlan驱动用于建立跨主机的网络、IP等。blog

相关文章
相关标签/搜索