在測試服務(wù)器上構(gòu)建鏡像時無法聯(lián)網(wǎng)

在本地可以順利構(gòu)建鏡像,在測試服務(wù)器上卻報錯了。截圖如下:


image.png

在圖中可以發(fā)現(xiàn),在Dockerfile執(zhí)行到pip安裝下載依賴時就會卡住。
并不是Dockerfile的編譯錯誤,而是什么“Temporary failure in name resolution”錯誤。

1.假設(shè)服務(wù)器網(wǎng)絡(luò)問題

為了不影響服務(wù)器現(xiàn)有環(huán)境,我新建一個虛擬環(huán)境,執(zhí)行pip相關(guān)依賴的下載。


image.png

發(fā)現(xiàn)測試服務(wù)器網(wǎng)絡(luò)是通的。沒有問題。

2.由于我使用了pip阿里云鏡像源,假設(shè)無法解析阿里云鏡像源域名。
image.png

經(jīng)過測試發(fā)現(xiàn),不僅網(wǎng)絡(luò)是通的,而且延遲相當?shù)汀?/p>

3.容器內(nèi)部網(wǎng)絡(luò)問題

在不斷縮小范圍后,開始排查容器的網(wǎng)絡(luò)問題。
經(jīng)過一番查詢,得到如下結(jié)果:
docker build鏡像時,默認使用網(wǎng)橋(bridge)模式,容器時虛擬環(huán)境,沒有自己的網(wǎng)卡,所以無法連接網(wǎng)絡(luò)。
好在docker在構(gòu)建(build)或者運行(run)鏡像時都提供了選擇網(wǎng)絡(luò)的參數(shù),我們可以使用宿主機的網(wǎng)絡(luò),也就是這臺測試服務(wù)器。
經(jīng)過查詢docker的官方文檔,找了docker build時設(shè)置網(wǎng)絡(luò)的參數(shù)--network


image.png
解決問題

在構(gòu)建鏡像時,在命令最后帶上--network host即可。

docker build -t <鏡像名> . --network host 
image.png

到此為止,解決問題。

參考資料:
docker build以及docker run時使用host網(wǎng)絡(luò)的方法
docker 官方文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,873評論 15 147
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,770評論 0 120
  • 讓博客Docker化,輕松上手Docker Docker是一個有趣的技術(shù),在過去的兩年已經(jīng)從一個想法變成了全世界的...
    喵喵唔的老巢閱讀 403評論 0 0
  • 五、Docker 端口映射 無論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機是訪問不到的。此外,除了...
    R_X閱讀 1,972評論 0 7
  • 那些年,關(guān)于我們的詩。 序章.白 頑強的小草 我,是一棵小草 無數(shù)人踐踏過我的身體 但,我不怕 因為,那只是傷了我...
    飛葉_閱讀 161評論 0 1

友情鏈接更多精彩內(nèi)容