久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      docker ping不通宿主機怎么辦

      docker ping不通宿主機的解決辦法:1、修改daemon.json;2、關(guān)閉防火墻;3、修改sysctl.conf;4、重設(shè)網(wǎng)橋即可。

      docker ping不通宿主機怎么辦

      本文操作環(huán)境:ubuntu16.04系統(tǒng)、Docker 20.10.11、Dell G3電腦。

      docker ping不通宿主機怎么辦?

      Docker網(wǎng)橋模式ping不通宿主機

      問題描述:

      ??Docker網(wǎng)絡(luò)模式分為四種,一般我們不設(shè)置時默認為bridge單橋模式,容器使用獨立的network Namespace,并連接到docker0虛擬網(wǎng)卡中。通過docker0網(wǎng)橋以及Iptables nat表配置與宿主機通信。
      ??此時在堡壘機上進行測試,利用busybox進行測試:

      # 拉取鏡像 docker pull busybox # 運行容器 docker run -itd --name busy_bridge busybox

      ??指令docker network inspect bridge查看網(wǎng)絡(luò):
      docker ping不通宿主機怎么辦

      ??網(wǎng)路配置成功,進入容器內(nèi)部,查看ip,可以看到已經(jīng)分配ip,但是ping外部網(wǎng)絡(luò)時失敗,無法連接外部網(wǎng)絡(luò):
      docker ping不通宿主機怎么辦

      ??但是在自己本地或者阿里云上進行相同的測試發(fā)現(xiàn)能夠連通網(wǎng)絡(luò),這是什么問題導(dǎo)致的呢?

      問題分析:

      ??在網(wǎng)上找了一個資料后很多都是重啟docker,然后就能連上了,一般是因為修改了某個配置然后重啟起作用,這里并沒有什么作用。一般修改的分為幾種,以下一一試驗:

      1. 修改daemon.json

      ??容器無法訪問宿主機是因為網(wǎng)橋分配的網(wǎng)段和宿主機沖突了,需要修改daemon.json進行指定分配,使用指令vim /etc/docker/daemon.json進入后添加:

      {"bip":"172.16.10.1/24"}

      ??雖然重啟docker并創(chuàng)建容器即可訪問,但是,原本堡壘機和容器分配的ip一點沖突也沒有,該方法不行。

      1. 關(guān)閉防火墻

      ??容器無法通過網(wǎng)橋訪問宿主機,也就無法訪問外網(wǎng),可能是防火墻阻止訪問,可以關(guān)閉防火墻或者開啟某個端口。在服務(wù)器上測試,開啟防火墻,發(fā)現(xiàn)容器確實無法訪問百度首頁也確實無法訪問宿主機,在關(guān)閉防火墻并重啟docker后,容器就能正常訪問了。
      ??但是,堡壘機上的防火墻原本就是關(guān)閉的,該方法也沒用。

      1. 修改sysctl.conf

      ??docker主機內(nèi)部網(wǎng)絡(luò)正常,與其它主機的連接失效,其它主機不能連接docker主機上映射的端口,docker內(nèi)部也無法連接外部主機,利用docker info指令查看信息發(fā)現(xiàn)報錯如下:

      WARNING: IPv4 forwarding is disabled WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled

      ??使用指令vim /etc/sysctl.conf編輯配置文件,在文件中增加以下代碼:

      net.bridge.bridge-nf-call-ip6tables=1 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-arptables=1 net.ipv4.ip_forward=1

      ??然后使用指令systemctl restart network重啟網(wǎng)絡(luò),再次查看docker info,警告消失。但是依舊沒有用,堡壘機上的容器還是無法通過網(wǎng)橋訪問宿主機,無法訪問外網(wǎng)。

      1. 重設(shè)網(wǎng)橋

      ??在使用指令yum install bridge-utils安裝工具后,利用brctl show查看網(wǎng)橋,可以發(fā)現(xiàn):
      docker ping不通宿主機怎么辦
      ??利用docker network create [網(wǎng)橋名]指令新建網(wǎng)橋發(fā)現(xiàn)其生成的bridge id還是8000.0000000000,在新網(wǎng)橋上創(chuàng)建容器,再次查看并沒有什么變化,說明很可能是網(wǎng)橋的問題。
      ??再次測試,此時網(wǎng)橋ip172.17.0.1,容器ip172.0.0.2,發(fā)現(xiàn)宿主機能ping通網(wǎng)橋,但是無法連接容器,而容器無法連接網(wǎng)橋,無法連接宿主機,更別談外網(wǎng)了,所以這里可以肯定是網(wǎng)橋出了問題。

      問題解決

      ??這里docker network生成新的網(wǎng)橋不行,說明dockernetwork存在問題,我們利用剛才下載的bridge-utils來創(chuàng)建網(wǎng)橋。
      ??首先暫停docker服務(wù),利用指令:

      service docker stop

      ??添加網(wǎng)橋:

      brctl addbr br0

      ??添加ip字段:

      ip addr add 172.16.0.1/24 dev br0

      ??啟用網(wǎng)橋br0

      ip link set dev br0 up

      ??查看網(wǎng)絡(luò)br0
      docker ping不通宿主機怎么辦

      ??修改docker默認網(wǎng)橋:

      vim /etc/docker/daemon.json

      ??添加字段:

      "bridge":"br0"

      ??重啟docker

      service docker start

      ??此時查看網(wǎng)橋:
      docker ping不通宿主機怎么辦

      ??在沒有掛載容器前,依舊是8000.000000000000。運行測試容器:

      docker run -itd --name busy_test busybox

      ??查看網(wǎng)橋詳情:
      docker ping不通宿主機怎么辦

      ??此時容器掛載在網(wǎng)橋上了,再次查看網(wǎng)橋id
      docker ping不通宿主機怎么辦

      ??說明已經(jīng)其作用,進入測試容器內(nèi)部,測試外網(wǎng):
      docker ping不通宿主機怎么辦

      ??成功!
      ??補充:這里使用docker network新建網(wǎng)橋,沒有用,發(fā)現(xiàn)新建網(wǎng)橋掛載容器后,其bridge id依舊不變,沒有起作用,說明堡壘機上的docker network可能存在問題。

      問題補充:

      ??上面的問題是創(chuàng)建自定義網(wǎng)橋,然后在自定義網(wǎng)橋上連接容器ab,結(jié)果宿主機無法pingab,且進入容器內(nèi)部后,兩個容器無法ping通自定義網(wǎng)絡(luò),但能彼此相通。
      ??查了很多資料,發(fā)現(xiàn)了這篇文章。博主說問題原因是系統(tǒng)內(nèi)核的網(wǎng)橋模塊bridge.ko加載失敗導(dǎo)致,解決問題的方案是升級內(nèi)核或升級系統(tǒng)。
      ??升級centos內(nèi)核參考這篇。
      ??升級完成后,重裝Docker,自定義網(wǎng)橋和容器,成功!不再有網(wǎng)絡(luò)問題。

      推薦學習:《docker視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號