Docker启动时会在主机上自动创建一个docker0虚拟网桥,实际上它是一个Linux网桥,会对挂载其上的接口实现转发。

Docker会随机分配一个本地未占用的私有网段的地址给docker0接口,比如典型的172.17.42.1,掩码255.255.0.0.此后启动的容器内的网口会自动分配一个同网段(172.17.0.0/16)的地址。

当创建一个Docker容器时,同时会创建一对veth pari接口。这对接口一端在容器内,即eth0,另一端在本地并挂载到docker0网桥,以veth开头。通过这种方式,主机与容器之间建立虚拟共享网络,实现相互通信。

网络参数

Docker服务启动时的配置(不能马上生效)

  • -b Bridge--bridge=Bridge 指定容器挂载的网桥

  • --bip=CIDR 指定docker0的掩码

  • -H SOCKET--host=SOCKET Docker服务端接受命令的通道

  • --icc=true 是否支持容器之间通信

  • --ip-forward=true 是否支持ip转发,是否启用net.ipv4.ip.forward

  • --iptables=true 是否添加iptables规则

  • --mtu=BYTES 容器网络中的MTU

Docker服务启动或Docker容器启动时

  • --dns=IP_ADDRESS 指定DNS服务器

  • --dns-search=DOMAIN 指定DNS搜索域

Docker容器启动时

  • -h HOSTNAME--hostname=HOSTNAME 配置容器主机名

  • --link=CONTAINER_NAME:ALIAS 添加另一个容器的连接

  • --net=bridge|none|container 配置容器的桥接方式

  • -p SPEC--publish=SPEC 映射端口

  • -P--publish-all=true 映射所有端口

results matching ""

    No results matching ""