您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關docker如何添加網橋并設置ip地址范圍,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
由于是生產環境,所以先要把pod給驅逐一下,以免影響業務
首先說下,直接使用docker network create xx的方式是不行的。因為這種方式創建的網橋并沒有掛到虛擬機上,所以不工作,可能需要一些其他的額外配置。這里就不去研究了。提一下,免得各位踩坑。
整個過程如下圖,清晰可見。為了方便各位看官老爺,我把命令也復制出來。
[root@dashuaibi-server-103 jpserver]# ip a|grep docker0 [root@dashuaibi-server-103 jpserver]# brctl -h Usage: 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 docker0 149: 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 ls NETWORK ID NAME DRIVER SCOPE edd34bc4e197 bridge bridge local 9560af3573ae host host local 22885d053744 none null local [root@dashuaibi-server-103 jpserver]#
重啟完了以后,重新跑要映射端口的容器,對比如下。之前沒有添加網橋就沒有端口,添加完網橋以后。端口正常映射
最后就是去除污點,讓該節點重新恢復調度。
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地址范圍”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。