0.Docker的四种网络模式
网络模式 | 简介 |
---|---|
Bridge | 默认模式,此模式会为每一个容器分配、设置IP地址,并将容器连接到一个docker0的虚拟网桥,通过docker0虚拟网桥以及Iptables nat表配置与宿主机通讯 |
Host | 容器不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口 |
Container | 创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围 |
None | 该模式关闭了容器的网络功能,与宿主机、其他容器都不连通 |
1. Bridge模式(默认方式)
当docker server启动的时候,会在主机上创一个虚拟网桥,此主机上启动的docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理机类似,这样主机上的所有容器通过交换机连在了一个二层网络中。
2.Host模式
相当于Vmware中的NAT模式,与宿主机在同一个网络中,但没有独立IP地址。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。可以通过 --net=host 指定使用 host 网络。
3. Container模式
Docker网络container模式是指定其和已经存在的某个容器共享一个 Network Namespace,此时这两个容器共同使用同一网卡、主机名、IP 地址,容器间通讯可直接通过本地回环 lo 接口通讯。但这两个容器在其他的资源上,如文件系统、进程列表等还是隔离的。
4. None
没网
5.docker网络通讯原理
PS: 先挖个坑。