11、Docker的网络功能-配置容器网桥

1.配置网桥

Docker服务默认会创建一个名称为docker0的Linux网桥(其上有一个docker0内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。用户使用Docker创建多个自定义网络时可能会出现多个容器网桥。

Docker默认指定了docker0接口的IP地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了MTU(接口允许接收的最大传输单元),通常是1500 B,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置:

  • --bip=CIDR:IP地址加掩码格式,例如192.168.1.5/24;
  • --mtu=BYTES:覆盖默认的Docker mtu配置。也可以在配置文件中配置DOCKER_OPTS,然后重启服务。由于目前Docker网桥是Linux网桥,用户可以使用brctl show来查看网桥和端口连接信息:

每次创建一个新容器的时候,Docker从可用的地址段中选择一个空闲的IP地址分配给容器的eth0端口,并且使用本地主机上docker0接口的IP作为容器的默认网关:

2.自定义网桥

除了默认的docker0网桥,用户也可以指定其他网桥来连接各个容器。在启动Docker服务的时候,可使用-b BRIDGE或--bridge=BRIDGE来指定使用的网桥。如果服务已经运行,就需要先停止服务,并删除旧的网桥:

你可能感兴趣的:(11、Docker的网络功能-配置容器网桥)