docker0网络
没安装docker的时候输入命令ip addresss
,只显示了两个接口
安装完docker之后输入命令ip addresss
,会显示有一个docker0接口
下面创建并运行一个容器,容器创建完之后,再输入命令ip addresss
,又显示了一个新的接口
进入刚刚创建的容器,观察接口名称和ip地址。
下面对docker网络的接口情况做一些说明。当容器启动时在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中,然后从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。
#自定义网络
通过命令docker create network --subnet 192.168.0.0/16 --gateway 192.168.0.1 testnetwork
创建一个子网网络,并将网络名命名为testnetwork。
此时主机有创建了一个新的虚拟网卡
通过命令docker inspect testnetwork
查看新创建网络的信息
通过选项--network 网络名
就可以在docker run的时候把这个新的容器添加在自定义的网络中。例如命令docker run -itd --name test4 --network testnetwork ubuntu
创建了一个test4的容器,并将其网络设置为刚刚创建的testnetwork,进入容器查看其ip地址为192.168.0.2