docker 网络模式详解
一、前言 Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: host模式,使用--net=host指定。 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。 container模式,使用--net=container:NAME_or_ID指定。 创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。 none模式,使用--net=none指定。 该模式关闭了容器的网络功能。 bridge模式,使用--net=bridge指定,默认设置。 此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。 注意:使用 docker network ls 命令列出这些docker内置的网络模式。 Docker 网络模型 二、host模式 众所周知,Docker使用了Linux的Namespaces技术来进行资源隔离,如PID