欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

徹底解決Docker拉取鏡像超時(shí)問(wèn)題及分析

 更新時(shí)間:2025年09月15日 09:06:31   作者:劉一說(shuō)  
Docker拉取鏡像常因網(wǎng)絡(luò)延遲、加速器失效等問(wèn)題失敗,解決方案包括配置多源鏡像加速器、關(guān)閉IPv6、更換DNS、驗(yàn)證加速器連通性、離線導(dǎo)入或skopeo工具,以解決中國(guó)大陸用戶的連接問(wèn)題

問(wèn)題描述

在使用 docker pull 命令時(shí),經(jīng)常遇到如下錯(cuò)誤:

Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded

或:

net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

這表示 Docker 守護(hù)進(jìn)程無(wú)法連接到官方鏡像倉(cāng)庫(kù) registry-1.docker.io,導(dǎo)致拉取失敗。尤其在中國(guó)大陸網(wǎng)絡(luò)環(huán)境下,該問(wèn)題極為普遍。

本文將從根本原因分析 → 多種解決方案 → 最終優(yōu)化配置,提供一套完整、可落地的解決方案。

根本原因分析

原因說(shuō)明
?? 國(guó)際網(wǎng)絡(luò)延遲高registry-1.docker.io 位于海外,國(guó)內(nèi)訪問(wèn)延遲高、丟包嚴(yán)重
?? 鏡像加速器未生效雖然配置了加速器,但 Docker 實(shí)際仍走官方源
?? 加速器地址失效阿里云等公共鏡像源逐步限制或關(guān)閉
?? IPv6 干擾系統(tǒng)啟用 IPv6 但網(wǎng)絡(luò)不支持,導(dǎo)致連接掛起
?? DNS 劫持解析到錯(cuò)誤 IP,連接失敗
?? 企業(yè)防火墻公司/校園網(wǎng)絡(luò)屏蔽 Docker 流量

解決方案匯總

方案 1:配置多源鏡像加速器(推薦)

創(chuàng)建 /etc/docker/daemon.json 文件,配置多個(gè)國(guó)內(nèi)可用的鏡像源,實(shí)現(xiàn)冗余容錯(cuò)。

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.baidubce.com",
    "https://dockerproxy.com",
    "https://1i6z9fqv.mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com"
  ],
  "insecure-registries": [
    "registry.docker-cn.com",
    "docker.mirrors.ustc.edu.cn"
  ],
  "debug": true,
  "experimental": false
}

說(shuō)明

  • 使用多個(gè)教育網(wǎng)和社區(qū)維護(hù)的鏡像源,穩(wěn)定性更高
  • insecure-registries 允許訪問(wèn)非標(biāo)準(zhǔn) HTTPS 的鏡像源
  • gst6rzl9.mirror.aliyuncs.com 是目前少數(shù)仍可用的阿里云公共加速地址

應(yīng)用配置:

sudo systemctl restart docker

方案 2:關(guān)閉 IPv6(解決“假死”超時(shí))

某些網(wǎng)絡(luò)環(huán)境不支持 IPv6,會(huì)導(dǎo)致 TCP 連接長(zhǎng)時(shí)間等待。

# 臨時(shí)關(guān)閉
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

# 永久關(guān)閉(可選)
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

方案 3:更換 DNS

防止 DNS 劫持:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

方案 4:驗(yàn)證鏡像源是否可達(dá)

使用 curl 測(cè)試加速器連通性:

curl -I https://docker.m.daocloud.io/v2/library/hello-world/manifests/latest

返回 200404 表示可用

返回超時(shí)或 Could not resolve 表示不可用

方案 5:終極手段 —— 離線導(dǎo)入

在有網(wǎng)機(jī)器上拉取并導(dǎo)出:

docker pull hello-world
docker save hello-world > hello-world.tar

拷貝到目標(biāo)機(jī)器:

docker load < hello-world.tar

方案 6:使用skopeo工具繞過(guò) Docker

# 安裝 skopeo
sudo yum install -y skopeo

# 通過(guò)鏡像源拉取
skopeo copy docker://docker.m.daocloud.io/library/hello-world:latest docker-daemon:hello-world:latest

各鏡像源對(duì)比(2025 年測(cè)試)

鏡像源協(xié)議是否推薦備注
docker.m.daocloud.ioHTTPS? 強(qiáng)烈推薦社區(qū)維護(hù),穩(wěn)定
docker.nju.edu.cnHTTPS? 推薦南大鏡像,速度快
docker.mirrors.ustc.edu.cnHTTPS? 推薦中科大經(jīng)典源
gst6rzl9.mirror.aliyuncs.comHTTPS?? 可用阿里云幸存地址
hub-mirror.c.163.comHTTP/HTTPS? 推薦網(wǎng)易源穩(wěn)定
jsdelivr.fyi 系列HTTPS? 不推薦CDN 不穩(wěn)定

常見(jiàn)誤區(qū)

誤區(qū)正確認(rèn)知
“只要配一個(gè)阿里云就行”阿里云公共源已逐步限流,建議多源冗余
“curl 能通,docker 就能用”不一定!Docker 可能 fallback 到官方源
“HTTP 不安全,不能用”在內(nèi)網(wǎng)環(huán)境下,HTTP 更穩(wěn)定,可配合 insecure-registries 使用

總結(jié)

要徹底解決 context deadline exceeded 問(wèn)題,關(guān)鍵在于:

  1. 配置多個(gè)可用鏡像源,避免單點(diǎn)故障
  2. 優(yōu)先使用教育網(wǎng)或社區(qū)維護(hù)的鏡像
  3. 關(guān)閉 IPv6 和更換 DNS
  4. 驗(yàn)證加速器是否真正生效
  5. 必要時(shí)使用離線導(dǎo)入或 skopeo

最終建議配置:[見(jiàn)上方 daemon.json]

最后

Docker 鏡像拉取問(wèn)題看似簡(jiǎn)單,實(shí)則涉及網(wǎng)絡(luò)、DNS、TLS、系統(tǒng)配置等多個(gè)層面。希望本文能幫助你一次性解決這個(gè)“老毛病”。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker創(chuàng)建運(yùn)行多個(gè)mysql容器的方法示例

    Docker創(chuàng)建運(yùn)行多個(gè)mysql容器的方法示例

    這篇文章主要介紹了Docker創(chuàng)建運(yùn)行多個(gè)mysql容器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • CentOS 7.5下 安裝Docker 教程 詳解

    CentOS 7.5下 安裝Docker 教程 詳解

    這篇文章主要介紹了CentOS 7.5下 安裝Docker 教程 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • docker之安裝nginx的教程

    docker之安裝nginx的教程

    這篇文章主要介紹了docker之安裝nginx的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Docker Desktop中安裝MySQL并開(kāi)啟遠(yuǎn)程訪問(wèn)的詳細(xì)教程

    Docker Desktop中安裝MySQL并開(kāi)啟遠(yuǎn)程訪問(wèn)的詳細(xì)教程

    本文主要介紹了在Docker Desktop中安裝MySQL并開(kāi)啟遠(yuǎn)程訪問(wèn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Docker鏡像的commit操作示例及作用

    Docker鏡像的commit操作示例及作用

    這篇文章主要為大家介紹了Docker鏡像的commit操作示例及作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • docker中使用mysql數(shù)據(jù)庫(kù)詳解(在局域網(wǎng)訪問(wèn))

    docker中使用mysql數(shù)據(jù)庫(kù)詳解(在局域網(wǎng)訪問(wèn))

    這篇文章主要給大家介紹了在docker中使用mysql數(shù)據(jù)庫(kù),在局域網(wǎng)訪問(wèn)的相關(guān)資料,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • docker 設(shè)置windows存儲(chǔ)路徑的操作

    docker 設(shè)置windows存儲(chǔ)路徑的操作

    這篇文章主要介紹了docker 設(shè)置windows存儲(chǔ)路徑的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法

    Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法

    這篇文章主要介紹了Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Docker容器資源監(jiān)控的終極指南

    Docker容器資源監(jiān)控的終極指南

    容器化應(yīng)用突發(fā)高負(fù)載、內(nèi)存泄漏等問(wèn)題時(shí)常困擾運(yùn)維團(tuán)隊(duì),所以本文給大家介紹了Docker容器資源監(jiān)控的完整指南,并通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07
  • 容器Docker入門(mén)詳解

    容器Docker入門(mén)詳解

    這篇文章主要介紹了容器Docker入門(mén)詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論