docker換源不生效的原因以及解決方案
docker換源不生效
標(biāo)題背景
網(wǎng)上一大堆教程告訴你如何換源,怎么執(zhí)行命令,但發(fā)現(xiàn)換源之后,docker pull 仍然拉不下來。
云里霧里不知道什么原因?
歷史操作
- 以阿里云鏡像加速為例,它提供了個(gè)人維度的加速鏈接,在這里可以看到 容器鏡像服務(wù)
- 按照上面的操作方式,
vim /etc/docker/daemon.json將個(gè)人加速鏈接配置進(jìn)去,重啟服務(wù) - 發(fā)現(xiàn) docker pull golang:1.22-alpine 依然報(bào)錯(cuò),說明沒有走到加速鏡像
Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
- 懷疑緩存導(dǎo)致,清理緩存
docker system prune -a - 依然無效后,陷入死鎖,在嘗試更換了幾個(gè)源之后沒有明顯解決。
原因
因?yàn)橐恍v史原因,從24年6月,docker 官方收緊了cn地區(qū)的鏡像服務(wù),同時(shí),一些自建的鏡像加速公有云也并沒有完全收錄所有鏡像開放使用,以上面的阿里云鏈接為例

它引導(dǎo)用戶使用制品中心中的鏡像,但那里的鏡像種類和版本,與docker官方的幾乎不相同,
例如想要獲取 golang 鏡像,官方的是類似 golang:1.22-alpine ,但制品中心最新的是:
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/golang:1.19.4-8.6
看到落后了好幾個(gè)版本。但這個(gè)確實(shí)能很快速的拉取下來。
最終方案
由上可知,根本原因還是源本身的問題,還是需要找到可靠穩(wěn)定的國內(nèi)加速源鏈接,這里找到一個(gè)docker服務(wù)狀態(tài)監(jiān)控網(wǎng)站,找到鏡像加速一欄,將其加入到/etc/docker/daemon.json后,重新嘗試發(fā)現(xiàn)拉取鏡像加速的概率大了很多

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程
這篇文章主要給大家介紹了在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06
Docker設(shè)置mysql不區(qū)分大小寫問題
這篇文章主要介紹了Docker設(shè)置mysql不區(qū)分大小寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
使用 docker部署tomcat并接入skywalking的使用
這里主要介紹了使用 docker 部署 tomact 并接入 skywalking 的使用,因?yàn)樵诰W(wǎng)上并沒有查到太多相關(guān)的信息,所以這里記錄下來,需要對(duì)有需求的小伙伴提供一些幫助2021-04-04
查看docker是否處于啟動(dòng)狀態(tài)的方法詳解
Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,本文主要給大家介紹了查看docker是否處于啟動(dòng)狀態(tài)的方法,需要的朋友可以參考下2024-06-06
物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式
這篇文章主要介紹了物理機(jī)與啟動(dòng)的Docker容器間的目錄映射方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
如何將Docker的構(gòu)建時(shí)間減少40%(推薦)
這篇文章主要介紹了如何將Docker的構(gòu)建時(shí)間減少40%,本文描述了我們?cè)趦?yōu)化CI管道后獲得的一些新見解,需要的朋友可以參考下2023-11-11

