亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
問(wèn)題描述:
問(wèn)題分析:
問(wèn)題解決
問(wèn)題補(bǔ)充:
首頁(yè) 運(yùn)維 Docker docker ping不通宿主機(jī)怎麼辦

docker ping不通宿主機(jī)怎麼辦

Jan 04, 2022 pm 04:58 PM
docker ping

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

docker ping不通宿主機(jī)怎麼辦

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

docker ping不通宿主機(jī)怎麼辦?

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

問(wèn)題描述:

??Docker網(wǎng)路模式分為四種,一般我們不設(shè)定時(shí)預(yù)設(shè)為bridge單橋模式,容器使用獨(dú)立的network Namespace,並連接到docker0虛擬網(wǎng)路卡。透過(guò)docker0網(wǎng)橋以及Iptables nat表格配置與宿主機(jī)通訊。
??此時(shí)在堡壘機(jī)上進(jìn)行測(cè)試,利用busybox進(jìn)行測(cè)試:

#?拉取鏡像
docker?pull?busybox
#?運(yùn)行容器
docker?run?-itd?--name?busy_bridge?busybox

??指令docker network inspect bridge檢視網(wǎng)路:
docker ping不通宿主機(jī)怎麼辦

??網(wǎng)路設(shè)定成功,進(jìn)入容器內(nèi)部,查看ip,可以看到已經(jīng)指派ip,但是ping外部網(wǎng)路時(shí)失敗,無(wú)法連接外部網(wǎng)路:
docker ping不通宿主機(jī)怎麼辦

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

問(wèn)題分析:

??在網(wǎng)路上找了一個(gè)資料後很多都是重啟docker,然後就能連上了,一般是因?yàn)樾薷牧四硞€(gè)配置然後重啟起作用,這裡並沒(méi)有什麼作用。一般修改的分為幾種,以下一一試驗(yàn):

  1. 修改#daemon.json

容器無(wú)法存取宿主機(jī)是因?yàn)榫W(wǎng)橋分配的網(wǎng)段和宿主機(jī)衝突了,需要修改daemon.json進(jìn)行指定分配,使用指令vim /etc/docker/daemon.json進(jìn)入後添加:

{"bip":"172.16.10.1/24"}

??雖然重啟docker並創(chuàng)建容器即可訪問(wèn),但是,原本堡壘機(jī)和容器分配的ip一點(diǎn)衝突也沒(méi)有,該方法不行。

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

??容器無(wú)法透過(guò)網(wǎng)橋存取宿主機(jī),也無(wú)法存取外網(wǎng),可能是防火牆阻止訪問(wèn),可以關(guān)閉防火牆或開(kāi)啟某個(gè)連接埠。在伺服器上測(cè)試,開(kāi)啟防火牆,發(fā)現(xiàn)容器確實(shí)無(wú)法存取百度首頁(yè)也確實(shí)無(wú)法存取宿主機(jī),在關(guān)閉防火牆並重啟docker後,容器就能正常存取了。
??但是,堡壘機(jī)上的防火牆原本就是關(guān)閉的,該方法也沒(méi)用。

  1. 修改sysctl.conf

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

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

??使用指令vim /etc/sysctl.conf編輯設(shè)定文件,在檔案中增加以下程式碼:

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,警告消失。但是依舊沒(méi)有用,堡壘機(jī)上的容器還是無(wú)法透過(guò)網(wǎng)橋存取宿主機(jī),無(wú)法存取外網(wǎng)。

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

??在使用指令yum install bridge-utils安裝工具後,利用 brctl show查看網(wǎng)橋,可以發(fā)現(xiàn):
docker ping不通宿主機(jī)怎麼辦
??利用docker network create [網(wǎng)橋名]指令新橋發(fā)現(xiàn)其產(chǎn)生的bridge id還是8000.0000000000,在新網(wǎng)橋上建立容器,再次查看並沒(méi)有什麼變化,說(shuō)明很可能是網(wǎng)橋的問(wèn)題。
??再次??測(cè)試,此時(shí)網(wǎng)橋ip172.17.0.1,容器ip172.0.0.2,發(fā)現(xiàn)宿主功能ping通網(wǎng)橋,但是無(wú)法連接容器,而容器無(wú)法連接網(wǎng)橋,無(wú)法連接宿主機(jī),更別談外網(wǎng)了,所以這裡可以肯定是網(wǎng)橋出了問(wèn)題。

問(wèn)題解決

??這里docker network生成新的網(wǎng)橋不行,說(shuō)明dockernetwork存在問(wèn)題,我們利用剛才下載的bridge-utils來(lái)創(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不通宿主機(jī)怎麼辦

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

vim?/etc/docker/daemon.json

??添加字段:

"bridge":"br0"

??重啟docker

service?docker?start

??此時(shí)查看網(wǎng)橋:
docker ping不通宿主機(jī)怎麼辦

??在沒(méi)有掛載容器前,依舊是8000.000000000000。運(yùn)行測(cè)試容器:

docker?run?-itd?--name?busy_test?busybox

??查看docker ping不通宿主機(jī)怎麼辦:
docker ping不通宿主機(jī)怎麼辦

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

??說(shuō)明已經(jīng)其作用,進(jìn)入測(cè)試容器內(nèi)部,docker ping不通宿主機(jī)怎麼辦:
docker ping不通宿主機(jī)怎麼辦

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

問(wèn)題補(bǔ)充:

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

推薦學(xué)習(xí):《docker視頻教程

以上是docker ping不通宿主機(jī)怎麼辦的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
.NET Core快速入門教程 1、開(kāi)篇:說(shuō)說(shuō).NET Core的那些事兒 .NET Core快速入門教程 1、開(kāi)篇:說(shuō)說(shuō).NET Core的那些事兒 May 07, 2025 pm 04:54 PM

一、.NETCore的起源談到.NETCore,就不能不提它的前身.NET。當(dāng)年Java風(fēng)頭正盛,微軟也對(duì)Java青睞有加,Windows平臺(tái)上的Java虛擬機(jī)就是微軟依據(jù)JVM標(biāo)準(zhǔn)開(kāi)發(fā)的,據(jù)稱是當(dāng)時(shí)性能最佳的Java虛擬機(jī)。然而,微軟有自己的小算盤,試圖將Java與Windows平臺(tái)捆綁,增加一些Windows特有的功能。 Sun公司對(duì)此不滿,導(dǎo)致雙方關(guān)係破裂,微軟隨後推出了.NET。 .NET從誕生之初就借鑒了Java的許多特性,並在語(yǔ)言特性和窗體開(kāi)發(fā)等方面逐漸超越了Java。 Java在1.6版

怎樣開(kāi)發(fā)一個(gè)完整的PythonWeb應(yīng)用程序? 怎樣開(kāi)發(fā)一個(gè)完整的PythonWeb應(yīng)用程序? May 23, 2025 pm 10:39 PM

要開(kāi)發(fā)一個(gè)完整的PythonWeb應(yīng)用程序,應(yīng)遵循以下步驟:1.選擇合適的框架,如Django或Flask。 2.集成數(shù)據(jù)庫(kù),使用ORM如SQLAlchemy。 3.設(shè)計(jì)前端,使用Vue或React。 4.進(jìn)行測(cè)試,使用pytest或unittest。 5.部署應(yīng)用,使用Docker和平臺(tái)如Heroku或AWS。通過(guò)這些步驟,可以構(gòu)建出功能強(qiáng)大且高效的Web應(yīng)用。

Docker vs. Kubernetes:主要差異和協(xié)同作用 Docker vs. Kubernetes:主要差異和協(xié)同作用 May 01, 2025 am 12:09 AM

Docker和Kubernetes是容器化和編排的領(lǐng)軍者。 Docker專注於容器生命週期管理,適合小型項(xiàng)目;Kubernetes則擅長(zhǎng)容器編排,適用於大規(guī)模生產(chǎn)環(huán)境。兩者結(jié)合可提升開(kāi)發(fā)和部署效率。

查看Docker容器內(nèi)部進(jìn)程信息的方法 查看Docker容器內(nèi)部進(jìn)程信息的方法 May 19, 2025 pm 09:06 PM

查看Docker容器內(nèi)部進(jìn)程信息有三種方法:1.使用dockertop命令,可以列出容器內(nèi)所有進(jìn)程,顯示PID、用戶、命令等信息;2.使用dockerexec進(jìn)入容器內(nèi)部,再用ps或top命令查看詳細(xì)進(jìn)程信息;3.使用dockerstats命令,實(shí)時(shí)顯示容器資源使用情況,結(jié)合dockertop可全面了解容器性能。

如何在Ubuntu上部署PyTorch應(yīng)用 如何在Ubuntu上部署PyTorch應(yīng)用 May 29, 2025 pm 11:18 PM

在Ubuntu上部署PyTorch應(yīng)用可以通過(guò)以下步驟完成:1.安裝Python和pip首先,確保你的系統(tǒng)上已經(jīng)安裝了Python和pip。你可以使用以下命令來(lái)安裝它們:sudoaptupdatesudoaptinstallpython3python3-pip2.創(chuàng)建虛擬環(huán)境(可選)為了隔離你的項(xiàng)目環(huán)境,建議創(chuàng)建一個(gè)虛擬環(huán)境:python3-mvenvmyenvsourcemyenv/bin/activat

Debian上Jenkins部署性能調(diào)優(yōu) Debian上Jenkins部署性能調(diào)優(yōu) May 28, 2025 pm 04:51 PM

在Debian上部署和調(diào)優(yōu)Jenkins是一個(gè)涉及多個(gè)步驟的過(guò)程,包括安裝、配置、插件管理和性能優(yōu)化。以下是一個(gè)詳細(xì)的指南,幫助你實(shí)現(xiàn)高效的Jenkins部署。安裝Jenkins首先,確保你的系統(tǒng)已經(jīng)安裝了Java環(huán)境。 Jenkins需要Java運(yùn)行時(shí)環(huán)境(JRE)才能正常運(yùn)行。 sudoaptupdatesudoaptinstallopenjdk-11-jdk驗(yàn)證Java安裝成功:java-version接下來(lái),添加J

批量停止Docker容器的高效操作方法 批量停止Docker容器的高效操作方法 May 19, 2025 pm 09:03 PM

批量停止Docker容器的高效方法包括使用基本命令和工具。 1.使用dockerstop$(dockerps-q)命令,並可調(diào)整超時(shí)時(shí)間,如dockerstop-t30$(dockerps-q)。 2.利用dockerps的過(guò)濾選項(xiàng),如dockerstop$(dockerps-q--filter"label=app=web")。 3.使用DockerCompose命令docker-composedown。 4.編寫腳本按順序停止容器,如停止db、app和web容器。

比較不同Docker鏡像版本差異的方法 比較不同Docker鏡像版本差異的方法 May 19, 2025 pm 09:00 PM

比較不同Docker鏡像版本差異的方法有兩種:1.使用dockerdiff命令查看容器文件系統(tǒng)變化;2.使用dockerhistory命令查看鏡像構(gòu)建層級(jí)差異。這些方法有助於理解和優(yōu)化鏡像版本管理。

See all articles