Docker修改默认Docker0的网段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker修改默认Docker0的网段相关的知识,希望对你有一定的参考价值。

参考技术A

Docker安装后,默认会创建一个名为Docker0的虚拟网卡,使用的是172.17.*网段,用于为容器分配IP
可以通过ifconfig命令查看所有网络情况(如命令不存在,yum install net-tools安装)
下图为Docker0网络默认

而172段有时候会被公司内网专用,这样会造成在该服务器上访问公司172网络时路由到容器网络。

修改容器配置项,重新设置Docker路由,Docker版本为18.06,该方案向后兼容。
vim /etc/docker/daemon.json
添加一行 "bip": "192.168.210.1/24",该行建议放JSON第一行。

"bip": "192.168.210.1/24",
其他配置

service docker restart 重启容器
重启后再次运行ifconfig查看docker0是否变成192段,笔者测试个别机器重启容器就生效,但大部分机器不会直接生效,需要重启服务器后生效。
ifconfig返回

route命令返回:

查看容器实际IP,如果仍为172段则重启该容器

返回

1.较早版本的Docker是需要修改docker.service文件,自行创建网桥,比较复杂。
2.Docker安装规划时就建议规划好Docker网络,安装后就改掉网段,不然后面再改还是会影响线上环境的,而且如果没有及时发现这种问题,会导致很难排查。
3.如果是k8s生成的容器,则默认走flannel分配,flannel分配的IP段是k8s初始化及安装flannel时指定。

Docker--------修改Docker0网桥默认网段

1. 背景

  Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。

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


2. 环境

[[email protected] ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

[[email protected] ~]# uname -r
3.10.0-327.36.3.el7.x86_64

[[email protected] ~]# docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-28.git1398f24.el7.centos.x86_64
 Go version:      go1.7.4
 Git commit:      1398f24/1.12.6
 Built:           Fri May 26 17:28:18 2017
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-28.git1398f24.el7.centos.x86_64
 Go version:      go1.7.4
 Git commit:      1398f24/1.12.6
 Built:           Fri May 26 17:28:18 2017
 OS/Arch:         linux/amd64



3. 实战

 * 默认docker0 网桥信息

技术分享


 * 修改文件 /etc/docker/daemon.json 添加内容 "bip": "ip/netmask" [ 切勿与宿主机同网段 ]

技术分享


  * 重启 docker 服务

[[email protected] ~]# systemctl restart docker


  * 查看修改后的 docker0 网桥信息

技术分享



4. 总结



以需求驱动技术,技术本身没有优略之分,只有业务之分。

本文出自 “sea” 博客,请务必保留此出处http://lisea.blog.51cto.com/5491873/1940023

以上是关于Docker修改默认Docker0的网段的主要内容,如果未能解决你的问题,请参考以下文章

docker之修改docker0网桥默认网段

Docker修改默认的网段

修改docker0默认地址

docker0网卡down影响

自定义网段

容器安全之不使用Docker的默认网桥docker0