docker是现在部署服务比较常用的一种方式,但是docker0网络默认为172.17.x.x网段,172.17这个网段是私有化ip段,而且在企业内部使用比较常见的一个网段,docker0创建后会创建一个172.17网段的路由(可以通过ip route查看)。
?
这样产生的问题就是容器所在机器访问172.17这个网段的服务就会有问题,因此为了防止docker0使用172.17这个网段,可以在/etc/docker/daemon.json这个文件中添加bip默认配置,修改docker0所处网段,可以设置为10.x.x.x/16网段,需要注意的是设置的ip地址不能为10.0.1.0这种地址,后两位不能全部为0,如果bip为10.x.x.x/24,则后面三位不能全部为0,否则执行systemctl restart docker时会报下面的错误导致docker启动失败:
failed to start daemon: Error initializing network controller: error creating default "bridge" network: failed to allocate gateway (10.0.0.0): Address already in use