溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker容器內(nèi)網(wǎng)絡請求緩慢怎么辦

發(fā)布時間:2021-06-21 15:31:54 來源:億速云 閱讀:1363 作者:小新 欄目:服務器

這篇文章主要為大家展示了“docker容器內(nèi)網(wǎng)絡請求緩慢怎么辦”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“docker容器內(nèi)網(wǎng)絡請求緩慢怎么辦”這篇文章吧。

一、docker的網(wǎng)絡模式

1、none

當配置為none時,docker容器網(wǎng)絡無法輸入輸出,與世隔絕。

2、bridge
默認為bridge模式,docker有自己的虛擬網(wǎng)卡,通過橋接的方式從主機獲得網(wǎng)絡。

3、host
當指定為host時,主機的網(wǎng)卡直接暴露給了容器,直接通過主機的網(wǎng)絡上網(wǎng),比如要拿主機上的redis服務127.0.0.1:6357,就得通過這種方法,不過就比較不安全了。

4、container
使用其他容器的網(wǎng)絡

二、docker的dns解析

docker容器本質(zhì)上也是個linux,所以dns的解析方法和linux一樣,優(yōu)先是找/etc/hosts文件,像localhost這種域名就是寫在這個文件里,比如:

127.0.0.1 localhost

如果docker容器link了其他容器,這里也會多出link的域名,比如:

docker run --name app --link app-redis:redis -d ubuntu

就會在hosts里多出

172.17.0.3 app-redis 038c8388e4a1

找完/etc/hosts文件,然后是/etc/resolv.conf文件:

domain local
nameserver 192.168.65.1
nameserver 192.168.65.10

三、解決docker容器里網(wǎng)絡請求慢的問題

經(jīng)過抓包測試等分析,發(fā)現(xiàn)網(wǎng)絡請求慢,主要發(fā)生在dns解析中,所以主要采取dns優(yōu)化:

如果請求的是自己內(nèi)網(wǎng)的api, 可以直接修改/etc/hosts文件,如果是外網(wǎng)的請求可以通過更改/etc/resolv.conf里的nameserver實現(xiàn)。

docker容器肯定不是直接通過修改文件實現(xiàn)的,可以通過run的命令實現(xiàn):

# 添加host
docker run --name app --add-host='api.embbnux.com:10.98.10.98' -d ubuntu
# 指定dns server
docker run --name app --dns=223.5.5.5 --dns=8.8.8.8 -d ubuntu

這樣在docker容器里dns解析階段的時間就被加速了

以上是“docker容器內(nèi)網(wǎng)絡請求緩慢怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI