一、虚拟网桥 docker0
docker0 是 linux的虚拟网桥,守护进程通过docker0给容器提供网络连接的各种服务。
网桥是数据链路层设备,通常ip地址是网络层的设置。linux的虚拟网桥,有特殊的地方,它是通用网络设备抽象的一种,可以设置ip地址,相当于拥有一个隐藏的虚拟网卡。
docker容器启动时,创建容器中的网络设备eth0,同时在主机上打开一个名为veth*端口,用来和容器网络通信。
1、查看docker默认创建的虚拟网桥
$ ip a show docker0
2、查看容器的网络地址
二、网桥地址管理
1、安装网桥管理工具
sudo apt-get install bridge-utils
sudo brctl show
看到了docker0的网桥设备
docker run -it -name nwt1 ubuntu /bin/bash
# ifconfig
##看到了eth0,有ip和mac
CTRL+P
sudo brctl show
看到了docker0设备,interfaces里多了一个vethda1c8d9接口
ifconfig 也可以看到这个网络接口
2、修改docker0地址
sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0
sudo service docker restart
docker run -it ubuntu /bin/bash
ifconfig
3、使用自定义的虚拟网桥
sudo brctl addbr br0
sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0
ifconfig
sudo vim /etc/default/docker
DOCKER_OPTS=" b=br0 "
service docker restart
ps -ef | grep docker
docker run -it ubuntu /bin/bash