文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

docker如何添加网桥并设置ip地址范围

2023-06-14 07:21

关注

这篇文章将为大家详细讲解有关docker如何添加网桥并设置ip地址范围,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

先看一下当前情况:

docker如何添加网桥并设置ip地址范围

由于是生产环境,所以先要把pod给驱逐一下,以免影响业务

docker如何添加网桥并设置ip地址范围

首先说下,直接使用docker network create xx的方式是不行的。因为这种方式创建的网桥并没有挂到虚拟机上,所以不工作,可能需要一些其他的额外配置。这里就不去研究了。提一下,免得各位踩坑。

整个过程如下图,清晰可见。为了方便各位看官老爷,我把命令也复制出来。

[root@dashuaibi-server-103 jpserver]# ip a|grep docker0[root@dashuaibi-server-103 jpserver]# brctl -hUsage: brctl [commands]commands: addbr  <bridge> add bridge delbr  <bridge> delete bridge addif  <bridge> <device> add interface to bridge delif  <bridge> <device> delete interface from bridge hairpin <bridge> <port> {on|off} turn hairpin on/off setageing <bridge> <time> set ageing time setbridgeprio <bridge> <prio> set bridge priority setfd  <bridge> <time> set bridge forward delay sethello <bridge> <time> set hello time setmaxage <bridge> <time> set max message age setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority show  [ <bridge> ] show a list of bridges showmacs <bridge> show a list of mac addrs showstp <bridge> show bridge stp info stp  <bridge> {on|off} turn stp on/off[root@dashuaibi-server-103 jpserver]# brctl addbr docker0[root@dashuaibi-server-103 jpserver]# ip link set docker0 up[root@dashuaibi-server-103 jpserver]# ip addr add 192.168.0.0/16 dev docker0[root@dashuaibi-server-103 jpserver]# cat /etc/docker/daemon.json {"data-root": "/docker","bridge": "none","registry-mirrors": ["http://9b2cd203.m.daocloud.io"]}[root@dashuaibi-server-103 jpserver]# vim /etc/docker/daemon.json [root@dashuaibi-server-103 jpserver]# cat /etc/docker/daemon.json {"data-root": "/docker","bridge": "docker0","registry-mirrors": ["http://9b2cd203.m.daocloud.io"]}[root@dashuaibi-server-103 jpserver]# systemctl daemon-reload[root@dashuaibi-server-103 jpserver]# systemctl restart docker[root@dashuaibi-server-103 jpserver]# ip a|grep docker0149: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 inet 192.168.0.1/16 brd 192.168.255.255 scope global docker0[root@dashuaibi-server-103 jpserver]# docker network lsNETWORK ID   NAME    DRIVER    SCOPEedd34bc4e197  bridge    bridge    local9560af3573ae  host    host    local22885d053744  none    null    local[root@dashuaibi-server-103 jpserver]#

docker如何添加网桥并设置ip地址范围

重启完了以后,重新跑要映射端口的容器,对比如下。之前没有添加网桥就没有端口,添加完网桥以后。端口正常映射

docker如何添加网桥并设置ip地址范围

最后就是去除污点,让该节点重新恢复调度。

kubectl uncordon 10.168.0.103

补充:Docker修改默认网桥ip地址172.17.0.1

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如何添加网桥并设置ip地址范围”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯