Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。
Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置。
可以用编辑/etc/docker/daemon.json文件,添加内容 "bip": "ip/netmask" [ 切勿与宿主机同网段 ]
[root@localhost /]# vi /etc/docker/daemon.json
{"bip":"192.168.100.1/24"}
systemctl restart docker
注意:很懂朋友这么修改是不成功的,又用brctl 删除网桥,其实只是你没有配置对。
有些daemon.json文件里面是有内容的例如:
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}这是个docker的私有源
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
{"bip":"172.16.0.1/24"}
这样改是不会生效的
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"bip":"172.16.0.1/24"}
这才是正确的修改方法。
本文详细介绍了Docker服务启动后默认创建的docker0网桥及其作用,解释了如何通过编辑daemon.json文件来指定自定义的IP地址和子网掩码,以实现主机和容器之间的网络通信。同时,文章提供了正确修改配置的示例,帮助读者避免常见的配置错误。
3678

被折叠的 条评论
为什么被折叠?



