Docker無法連接到官方鏡像倉庫常見原因及解決辦法
這個(gè)錯(cuò)誤:
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)
表示 Docker 無法連接到官方鏡像倉庫 registry-1.docker.io,通常是因?yàn)?網(wǎng)絡(luò)問題,尤其是在國內(nèi)的服務(wù)器或網(wǎng)絡(luò)環(huán)境下非常常見。
常見原因
- 國內(nèi)訪問 Docker Hub 極慢或被限流
- 未配置鏡像加速器
- DNS 問題
- 防火墻或代理限制
- Docker 服務(wù)異常
解決方案(推薦順序)
方案 1:配置阿里云鏡像加速器(最有效?。?/h3>
這是國內(nèi)最穩(wěn)定、最快的解決方案。
1. 獲取加速器地址
訪問:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
(登錄阿里云賬號)
你會看到一個(gè)專屬加速地址,如:
https://xxxx.mirror.aliyuncs.com
2. 配置 Docker 使用鏡像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
?? 替換
xxxx為你的實(shí)際加速器 ID。
3. 驗(yàn)證是否生效
docker info
查看是否有:
Registry Mirrors: https://xxxx.mirror.aliyuncs.com/
然后嘗試?yán)$R像:
docker pull hello-world
方案 2:使用其他公共鏡像加速(備用)
如果阿里云不可用,可嘗試:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
?? 注意:部分公共鏡像可能不穩(wěn)定或限速。
配置方法同上,修改 /etc/docker/daemon.json 后重啟 Docker。
方案 3:檢查網(wǎng)絡(luò)和 DNS
1. 測試是否能解析registry-1.docker.io
nslookup registry-1.docker.io # 或 dig registry-1.docker.io
如果解析失敗,可能是 DNS 問題。
2. 更換 DNS
sudo vi /etc/resolv.conf
添加:
nameserver 8.8.8.8 nameserver 114.114.114.114
保存后重試。
方案 4:檢查是否在代理環(huán)境中
如果你在公司網(wǎng)絡(luò)或使用了代理,Docker 可能需要配置代理。
為 Docker 服務(wù)配置代理
sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<-'EOF' [Service] Environment="HTTP_PROXY=http://proxy.example.com:8080" Environment="HTTPS_PROXY=http://proxy.example.com:8080" Environment="NO_PROXY=localhost,127.0.0.1,docker.io" EOF sudo systemctl daemon-reload sudo systemctl restart docker
替換
proxy.example.com:8080為你的實(shí)際代理地址。
方案 5:重啟 Docker 服務(wù)(臨時(shí)問題)
有時(shí)是 Docker 守護(hù)進(jìn)程卡住了:
sudo systemctl restart docker
方案 6:直接使用鏡像倉庫代理(高級)
如果你有私有鏡像倉庫(如 Harbor),可以配置為代理緩存:
{
"registry-mirrors": ["https://your-harbor.com"]
}
錯(cuò)誤做法(不要做)
- ? 直接
ping registry-1.docker.io來判斷網(wǎng)絡(luò)(ICMP 被禁用是正常的) - ? 手動(dòng)下載鏡像再
docker load(不現(xiàn)實(shí)) - ? 修改
/etc/hosts綁定 IP(IP 經(jīng)常變)
驗(yàn)證是否修復(fù)
docker run hello-world
如果能正常拉取并運(yùn)行,說明問題解決 ?
總結(jié)
| 問題 | 解決方案 |
|---|---|
| 拉取鏡像超時(shí) | ? 配置阿里云鏡像加速器 |
| DNS 解析失敗 | ? 更換為 8.8.8.8 或 114.114.114.114 |
| 在代理環(huán)境 | ? 配置 Docker 代理 |
| 臨時(shí)卡住 | ? 重啟 Docker 服務(wù) |
?? 強(qiáng)烈建議所有國內(nèi)用戶配置阿里云鏡像加速器,這是最穩(wěn)定、最高效的解決方案。
到此這篇關(guān)于Docker無法連接到官方鏡像倉庫常見原因及解決辦法的文章就介紹到這了,更多相關(guān)Docker無法連接到官方鏡像倉庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾
要從Docker容器中復(fù)制文件,可以使用docker?cp命令,下面這篇文章主要給大家介紹了關(guān)于Docker?cp命令詳解之如何在Docker容器和主機(jī)之間復(fù)制文件/文件夾的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
Ubuntu16.04Docker的CS模式詳細(xì)介紹
這篇文章主要介紹了Ubuntu16.04Docker的CS模式詳細(xì)介紹的相關(guān)資料,這里對Docker CS模式圖文詳細(xì)介紹,需要的朋友可以參考下2016-12-12
再見 Docker如何5分鐘轉(zhuǎn)型 containerd
這篇文章主要介紹了再見 Docker如何5分鐘轉(zhuǎn)型 containerd,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Docker 常用命令整理及使用注意事項(xiàng)總結(jié)
這篇文章主要介紹了Docker 常用命令整理及使用注意事項(xiàng)總結(jié)的相關(guān)資料,這里整理了Docker 的常用命令,說明這些命令是什么意思及使用方法,需要的朋友可以參考下2016-12-12
kali安裝docker及搭建漏洞環(huán)境的詳細(xì)教程
Docker?是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化,本文重點(diǎn)給大家介紹kali安裝docker及搭建漏洞環(huán)境的過程,感興趣的朋友一起看看吧2022-05-05

