docker-compose創(chuàng)建網(wǎng)橋,添加子網(wǎng),刪除網(wǎng)卡的實(shí)現(xiàn)

1.創(chuàng)建docker網(wǎng)卡[root@i ~]# brctl addbr docker0[root@i ~]# ip addr add 192.168.42.1/24 dev docker0 # 這里的ip是給docker內(nèi)部用的, 隨意配置一個(gè)即可[root@i ~]# ip link set dev docker0 up[root@i ~]# ip addr show docker0# 查看docker[root@i ~]# systemctl restart docker[root@i ~]# systemctl restart docker# 啟動(dòng)docker服務(wù)2.添加子網(wǎng)[root@i ~]# docker network create backend# 這樣我們就創(chuàng)建了backend子網(wǎng),docker-compose就可以直接使用這個(gè)network# 如果無(wú)法常見(jiàn)子網(wǎng),則使用下面的命令,跳過(guò)安全問(wèn)題 [root@i ~]# docker network create backend --subnet 172.24.24.0/24 [root@i ~]# docker network lsNETWORK ID NAME DRIVER SCOPE6afff4d90f05 backend bridge local57de7f32064e bridge bridge local4b44a5340d6e host host localac8e8ffe243f none null local

成都創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、弋江網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為弋江等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

這里可以看到有backend

3.刪除網(wǎng)卡[root@i ~]# brctl show#查看網(wǎng)橋狀態(tài)bridge name bridge id STP enabled interfacesbr-5db3fa0c465f 8000.02424cfb3937 no veth038d483 veth2950f5c veth669dc5e veth715203f veth9f31643 vethd0f5330docker0 8000.3a4803cd6298 no veth9d3badb vethd7530fd[root@i ~]# brctl delif <網(wǎng)橋名> <端口名>#卸載網(wǎng)橋上的端口[root@i ~]# ifconfig#查看是否有網(wǎng)橋網(wǎng)卡名[root@i ~]# ifconfig <網(wǎng)橋名> down#關(guān)閉此網(wǎng)卡[root@i ~]# brctl delbr <網(wǎng)橋名>#刪除網(wǎng)橋

補(bǔ)充:Docker-Compose 自動(dòng)創(chuàng)建的網(wǎng)橋與局域網(wǎng)沖突的終極解決方案

一、問(wèn)題描述

在使用 docker-compose 部署應(yīng)用時(shí), docker 默認(rèn)的網(wǎng)絡(luò)模式是 bridge ,默認(rèn)網(wǎng)段是 172.17.0.1/16。十分不巧的是我們自己物理機(jī)的局域網(wǎng)也使用的是 172.18.0.1/16 的網(wǎng)段。

在執(zhí)行 docker-compose -f docker-compose.yml up -d 部署服務(wù)后,自動(dòng)生成的網(wǎng)橋會(huì)依次使用 172.18.x.x,然而悲催的事情發(fā)生了。docker 生成的網(wǎng)橋與局域網(wǎng)沖突了。

于是乎,面向百度編程的漫漫長(zhǎng)路開(kāi)始了… …,但是,通過(guò)一次次的百度和谷歌,找到好多好多復(fù)制來(lái)復(fù)制去的博客,最終一遍一遍的試錯(cuò),最終也沒(méi)有解決我的問(wèn)題,于是乎,這篇含金量達(dá)到 99.9999999999999999999999999% 的文章出爐了。

本次實(shí)驗(yàn)環(huán)節(jié)的 Docker 版本

[root@node100 docker-compose]# docker info | grep 'Server Version' Server Version: 19.03.12二、解決方案

停止 docker-compose 創(chuàng)建的容器

docker-compose -f docker-compose.yml down

操作 Docker 容器

# 停止 Docker 容器sudo systemctl stop docker# 停止 docker0 網(wǎng)橋sudo ip link set dev docker0 down# 刪除 docker0 網(wǎng)橋sudo brctl delbr docker0# 重置 iptablessudo iptables -t nat -F POSTROUTING

P.S

# linux brctl command not found,安裝 brctl yum install bridge-utils -y

修改 daemon.json

# 編輯 daemon.json 文件vim /etc/docker/daemon.json# 添加如下內(nèi)容,包含設(shè)置 Docker 容器的 IP 網(wǎng)段"default-address-pools" : [ { "base" : "192.168.0.0/16", "size" : 24 }]

P.S

注意:如果 daemon.json 中包含了其它的內(nèi)容,請(qǐng)切記語(yǔ)法格式的正確性,比如用逗號(hào)隔開(kāi)。

重啟 Docker 容器

sudo systemctl daemon-reloadsudo systemctl start docker

重新安裝和啟動(dòng) docker-compose 的命令

docker-compose -f docker-compose.yml up -d三、拓展方案

獲取 ISSUES 大佬們給出的一些解決方案

方案一

方案二

方案三

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

文章題目:docker-compose創(chuàng)建網(wǎng)橋,添加子網(wǎng),刪除網(wǎng)卡的實(shí)現(xiàn)
當(dāng)前鏈接:http://www.muchs.cn/article20/dphco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、微信公眾號(hào)、網(wǎng)站收錄網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司