這篇文章主要介紹“docker進(jìn)入容器速度很慢的原因是什么”,在日常操作中,相信很多人在docker進(jìn)入容器速度很慢的原因是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”docker進(jìn)入容器速度很慢的原因是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)提供從項(xiàng)目策劃、軟件開(kāi)發(fā),軟件安全維護(hù)、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評(píng)估等整套的建站服務(wù),主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),App定制開(kāi)發(fā)以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。創(chuàng)新互聯(lián)建站深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!你所使用的宿主機(jī)操作系統(tǒng)發(fā)行版,和容器中基礎(chǔ)鏡像的發(fā)行版很有可能存在區(qū)別。本地的發(fā)行版軟件源一般會(huì)是國(guó)內(nèi)地址,而官方鏡像中的源一般都是國(guó)外的源。
由于國(guó)內(nèi)網(wǎng)絡(luò)的原因,連接國(guó)外的源很有可能非常慢。因此,容器內(nèi)的基礎(chǔ)鏡像中使用國(guó)外源的話,在容器在國(guó)內(nèi)運(yùn)行,apt-get update 會(huì)非常慢。
還有一點(diǎn)需要注意:容器的DNS問(wèn)題。一旦運(yùn)行docker daemon或者docker run時(shí)沒(méi)有指定dns的,并且宿主機(jī)的默認(rèn)dns為127.0.0.1,那么docker daemon會(huì)自動(dòng)給容器配置dns為8.8.4.4和8.8.8.8,而這兩個(gè)DNS地址在國(guó)內(nèi)使用時(shí)不是很穩(wěn)定,因此,也存在域名解析緩慢甚至被阻的情況。
解決docker容器里網(wǎng)絡(luò)請(qǐng)求慢的問(wèn)題
經(jīng)過(guò)抓包測(cè)試等分析,發(fā)現(xiàn)網(wǎng)絡(luò)請(qǐng)求慢,主要發(fā)生在dns解析中,所以主要采取dns優(yōu)化。
如果請(qǐng)求的是自己內(nèi)網(wǎng)的api, 可以直接修改/etc/hosts文件,如果是外網(wǎng)的請(qǐng)求可以通過(guò)更改/etc/resolv.conf里的nameserver實(shí)現(xiàn)。
docker容器肯定不是直接通過(guò)修改文件實(shí)現(xiàn)的,可以通過(guò)run的命令實(shí)現(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解析階段的時(shí)間就被加速了
到此,關(guān)于“docker進(jìn)入容器速度很慢的原因是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!