Docker容器网络基础
在ifconfig命令中,我们可以看到名为Docker0的网络链接。
docker0是Linux虚拟网桥。而网桥是OSI七层模型中的数据链路层的一种设备,它用来通过MAC地址(网络设备的物理地址)来对网路进行划分并且在不同的网络之间传递数据。
Linux虚拟网桥的特点
可以设置IP地址 相当于拥有一个隐藏的虚拟网卡
docker0的地址划分(默认)
IP:172.17.42.1 子网掩码:255.255.0.0 MAC:02:42:ac:11:00:00 到 02:42:ac:11:ff:ff 共提供65534个地址 在运行容器时,Docker守护进程需要在宿主机与容器两端分别建立vethXXX的接口,用来实现docker0与容器的通信。
修改docker0
shell:ifconfig docker0 192.168.100.1 netmask 255.255.255.0 shell:service docker restart
自定义虚拟网桥
添加虚拟网桥
shell:brctl addbr br0 shell:ifconfig br0 192.168.100.1 netmask 255.255.255.0 shell:service docker restart
更改docker守护进程的启动配置
/etc/default/docker 中添加 DOCKER_OPS 值 -b=br0
Docker容器的互联
允许所有容器互联 默认
容器重启后,IP有变化。--link 环境变量映射 shell:docker run --link=[CONTAINER_NAME]:[ALIAS] [IMAGE][COMMOND]
拒绝容器间互联
Docker守护进程的启动选项 --icc=false
允许特定容器间的链接
Docker守护进程的启动选项 --icc=false --iptables-true --link