docker pull/build失敗設置國內鏡像源的問題
docker pull/build失敗設置國內鏡像源
在寫完一個服務構建時候寫完docker 執(zhí)行build 報錯:
ERROR: failed to solve: golang:1.21-alpine: failed to resolve source metadata for docker.io/library/golang:1.21-alpine: unexpected status from HEAD request to https://xx4bwyg2.mirror.aliyuncs.com/v2/library/golang/manifests/1.21-alpine?ns=docker.io: 403 Forbidden

有點搞, 第一行就報錯了
看錯誤應該是網絡問題,拉取鏡像時候就報錯了
為了驗證猜想,在命令行隨便執(zhí)行一個pull命令docker pull mysql 拉取一個MySQL鏡像試一試
果不其然出錯了:

Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
嘗試了一下找到解決方案:
解決方案
1. 添加DNS解析地址:(可選,經嘗試這一步不加也行)
sudo vim /etc/resolv.conf
添加:nameserver 114.114.114.114

2. 設置docker 國內鏡像源
sudo vim daemon.json
在 鏡像倉庫中添加鏡像源:(可以不必要這么多,這里只是列出了幾個國內鏡像源)
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.nju.edu.cn",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"http://mirrors.ustc.edu.cn",
"https://dockerhub.icu"
]3. 重啟docker
sudo systemctl daemon-reload sudo systemctl restart docker
通過docker info 看到添加的鏡像源就說明成功了

4. 再執(zhí)行docker pull mysql 發(fā)現(xiàn)可以pull了, 這下也能build了
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
遷移變更Docker默認數(shù)據(jù)存儲目錄的步驟詳解
Docker安裝的默認數(shù)據(jù)目錄為/var/lib/docker,但是如果/目錄掛載的磁盤空間不夠,就需要遷移docker數(shù)據(jù)到其他目錄,接下來本就給大家介紹遷移變更Docker默認數(shù)據(jù)存儲目錄的操作步驟,需要的朋友可以參考下2023-12-12
Docker配置文件docker-compose.yml使用指南
本文主要介紹了Docker配置文件docker-compose.yml使用指南,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
Docker-Compose創(chuàng)建mysql容器詳解
這篇文章主要介紹了Docker-Compose創(chuàng)建mysql容器詳解的相關資料,需要的朋友可以參考下2022-11-11

