docker無法解析域名怎么辦

解決方法:1、用“cat /proc/sys/net/ipv4/ip_forward”查看“/proc”文件系統(tǒng),確認系統(tǒng)是否打開ip轉(zhuǎn)發(fā)功能;2、用“echo 1 > /proc/sys/net/ipv4/ip_forward”將文件內(nèi)的內(nèi)容由0修改為1即可打開ip轉(zhuǎn)發(fā)功能;3、修改“/etc/sysctl.conf”文件內(nèi)“ip_forward”的值可以永久修改ip轉(zhuǎn)發(fā)。

docker無法解析域名怎么辦

本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。

docker無法解析域名怎么辦

一直報unknown host,無法解析域名,來一起看看詳細的解決方法:

解決方法

1、Linux系統(tǒng)默認沒有打開IP轉(zhuǎn)發(fā)功能,要確認IP轉(zhuǎn)發(fā)功能的狀態(tài),

可以查看/proc文件系統(tǒng),使用下面命令:

docker無法解析域名怎么辦

出于安全考慮,Linux系統(tǒng)默認是禁止數(shù)據(jù)包轉(zhuǎn)發(fā)的。

所謂轉(zhuǎn)發(fā)即當主機擁有多于一塊的網(wǎng)卡時,其中一塊收到數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的目的ip地址將包發(fā)往本機另一網(wǎng)卡,該網(wǎng)卡根據(jù)路由表繼續(xù)發(fā)送數(shù)據(jù)包。配置Linux系統(tǒng)的ip轉(zhuǎn)發(fā)功能,首先保證硬件連通,然后打開系統(tǒng)的轉(zhuǎn)發(fā)功能

cat /proc/sys/net/ipv4/ip_forward,該文件內(nèi)容為0,表示禁止數(shù)據(jù)包轉(zhuǎn)發(fā),1表示允許。

2、如果上述文件中的值為0,說明禁止進行IP轉(zhuǎn)發(fā);

如果是1,則說明IP轉(zhuǎn)發(fā)功能已經(jīng)打開,要想打開IP轉(zhuǎn)發(fā)功能,可以直接修改上述文件:

echo?1?>?/proc/sys/net/ipv4/ip_forward

把文件的內(nèi)容由0修改為1。禁用IP轉(zhuǎn)發(fā)則把1改為0。

3、上面的命令并沒有保存對IP轉(zhuǎn)發(fā)配置的更改,下次系統(tǒng)啟動時仍會使用原來的值

要想永久修改IP轉(zhuǎn)發(fā),需要修改/etc/sysctl.conf文件,修改下面一行的值:

net.ipv4.ip_forward?=?1

修改后可以重啟系統(tǒng)來使修改生效,也可以執(zhí)行下面的命令來使修改生效:

sysctl?-p?/etc/sysctl.conf

進行了上面的配置后,IP轉(zhuǎn)發(fā)功能就永久開啟了

擴展知識:

進入 Docker 容器后,在 hosts 文件中,配置域名解析。

#?進入?docker?容器 docker?exec?-it??my_web?/bin/bash #?修改?hosts?文件 vi?/etc/hosts #?添加域名解析規(guī)則 192.168.99.100??example.test #?利用?ping?命令驗證一下,是否可以?ping?通 ping?example.test

如果你的 Docker 宿主主機沒有 ping 命令,你可以安裝一下;當然,如果你不想安裝的話也無所謂,你可以通過其他的方式來驗證域名解析是否已經(jīng)得到解決。

需要注意的是:每次重啟容器(服務)后,容器中的 /etc/hosts 文件新增的配置就會失效,故需要重新配置一下。

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享