使用國內鏡像加速器解決 Docker Hub 拉取鏡像慢或被屏蔽的問題

一、問題背景

Docker Hub 是 Docker 默認的鏡像倉庫,但由于網絡限制,國內用戶直接拉取鏡像可能面臨以下問題:

  1. 下載速度極慢(尤其是大鏡像)。
  2. 連接超時或完全被屏蔽(部分網絡環境)。
  3. 依賴國外源的構建步驟失敗(如 apt-getpip 等)。

解決方案:使用國內鏡像加速器,將 Docker 請求代理到國內服務器,提升下載速度并避免網絡限制。


二、主流國內鏡像加速器列表
服務商加速器地址備注
阿里云https://<你的ID>.mirror.aliyuncs.com需注冊阿里云賬號,免費獲取個人專屬加速地址。
騰訊云https://mirror.ccs.tencentyun.com無需登錄,直接使用。
網易云https://hub-mirror.c.163.com公開可用,穩定性較高。
中科大源https://docker.mirrors.ustc.edu.cn學術機構維護,適合教育網用戶。

三、配置鏡像加速器的詳細步驟
1. 阿里云鏡像加速器配置(推薦)

步驟 1:獲取阿里云加速器地址

  1. 訪問 阿里云容器鏡像服務控制臺。
  2. 登錄阿里云賬號,進入「鏡像工具」→「鏡像加速器」。
  3. 復制專屬加速器地址(形如 https://xxxxxx.mirror.aliyuncs.com)。

步驟 2:配置 Docker 使用加速器

  • Linux 系統(Ubuntu/CentOS 等)

    1. 編輯 Docker 配置文件:
      sudo vim /etc/docker/daemon.json
      
    2. 添加以下內容(若文件不存在則新建):
      {"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
      }
      
    3. 重啟 Docker 服務:
      sudo systemctl daemon-reload
      sudo systemctl restart docker
      
  • Windows/macOS(Docker Desktop)

    1. 右鍵點擊 Docker 托盤圖標 → SettingsDocker Engine
    2. 在配置文件中添加 registry-mirrors 字段:
      {"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],"experimental": false
      }
      
    3. 點擊 Apply & Restart 重啟 Docker。
2. 其他鏡像加速器配置(如騰訊云、網易云)
  • 方法同上,只需替換 registry-mirrors 地址:
    {"registry-mirrors": ["https://mirror.ccs.tencentyun.com", "https://hub-mirror.c.163.com"]
    }
    

四、驗證鏡像加速器是否生效
  1. 查看 Docker 配置

    docker info | grep "Registry Mirrors"
    

    輸出應包含配置的鏡像加速器地址:

    Registry Mirrors:https://xxxxxx.mirror.aliyuncs.com/
    
  2. 拉取鏡像測試速度

    docker pull ubuntu:22.04
    

    觀察下載速度,正常情況應顯著快于未配置加速器時。


五、進階優化:替換 Dockerfile 中的包管理源

鏡像加速器僅代理 Docker Hub 的鏡像拉取,若構建鏡像時需要從 aptpip 等工具下載依賴,仍需替換為國內源。

1. 在 Dockerfile 中替換 APT 源(Ubuntu)
FROM ubuntu:22.04# 替換為阿里云 APT 源
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \&& sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list \&& apt-get update
2. 在 Dockerfile 中替換 PIP 源(Python)
FROM python:3.9-slim# 替換為清華 PyPI 源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
3. 在 Dockerfile 中替換 NPM 源(Node.js)
FROM node:16# 替換為淘寶 NPM 源
RUN npm config set registry https://registry.npmmirror.com

六、常見問題與解決方案
問題現象原因與解決方案
配置后無法啟動 Docker檢查 /etc/docker/daemon.json 格式是否正確(JSON 語法)。
鏡像拉取速度仍慢嘗試更換其他鏡像加速器地址(如騰訊云、網易云)。
docker pull 報錯 TLS handshake timeout網絡不穩定,檢查防火墻或 VPN 設置,或使用 --network host 臨時繞過限制。
部分鏡像無法拉取某些鏡像可能不在加速器緩存中,嘗試直接指定官方地址:docker pull docker.io/library/ubuntu:22.04

七、替代方案:使用私有鏡像倉庫

如果鏡像加速器仍不穩定,可自建私有倉庫(如 Harbor)或使用企業級服務。

1. 搭建 Harbor 私有倉庫
  1. 下載并安裝 Harbor:
    wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
    tar -xzf harbor-offline-installer-v2.5.0.tgz
    cd harbor
    
  2. 修改 harbor.yml 配置:
    hostname: your-local-ip  # 本地服務器 IP 或域名
    http:port: 80
    
  3. 啟動 Harbor:
    sudo ./install.sh
    
2. 推送鏡像到 Harbor
docker tag ubuntu:22.04 your-local-ip/library/ubuntu:22.04
docker push your-local-ip/library/ubuntu:22.04
3. 從 Harbor 拉取鏡像
docker pull your-local-ip/library/ubuntu:22.04

八、總結

通過配置國內鏡像加速器,可顯著提升 Docker 鏡像的拉取速度,并規避網絡限制。核心步驟如下:

  1. 選擇加速器:優先使用阿里云(需注冊)或騰訊云、網易云(免登錄)。
  2. 配置 Docker:修改 daemon.json 并重啟服務。
  3. 驗證生效:通過 docker info 和拉取測試鏡像確認。
  4. 優化構建:在 Dockerfile 中替換包管理源(APT/PIP/NPM)。
  5. 高級方案:自建 Harbor 私有倉庫實現完全本地化。

關鍵配置文件

  • Docker 鏡像加速器配置:/etc/docker/daemon.json(Linux)或 Docker Desktop 設置文件。
  • Harbor 私有倉庫配置:harbor.yml

常用命令

# 查看鏡像加速器配置
docker info | grep "Registry Mirrors"# 強制重建鏡像(清理緩存)
docker build --no-cache -t my-app:1.0 .# 清理無用的鏡像和容器
docker system prune -a

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67575.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67575.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67575.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI大模型開發原理篇-4:神經概率語言模型NPLM

神經概率語言模型&#xff08;NPLM&#xff09;概述 神經概率語言模型&#xff08;Neural Probabilistic Language Model, NPLM&#xff09; 是一種基于神經網絡的語言建模方法&#xff0c;它將傳統的語言模型和神經網絡結合在一起&#xff0c;能夠更好地捕捉語言中的復雜規律…

2.1.2 Bayer陣列與去馬賽克

文章目錄 Bayer陣列去馬賽克方法 Bayer陣列 由于傳感器只能感受到光的強度&#xff0c;而無法感知顏色&#xff0c;所以需要用紅、綠、藍顏色的濾光片將光中的R、G、B亮度濾出&#xff0c;再通過R、G、B的組合得到各種色彩。Bayer陣列是使用一個傳感器獲得彩色圖像的方法&#…

紅黑樹的學習

紅黑樹的概念 紅黑樹&#xff0c;是一種二叉搜索樹&#xff0c;但在每個結點上增加一個存儲位表示結點的顏色&#xff0c;可以是Red或 Black。 通過對任何一條從根到葉子的路徑上各個結點著色方式的限制&#xff0c;紅黑樹確保沒有一條路徑會比其他路徑長出倆倍&#xff0c;因…

2025年01月31日Github流行趨勢

項目名稱&#xff1a;Qwen2.5項目地址url&#xff1a;https://github.com/QwenLM/Qwen2.5項目語言&#xff1a;Shell歷史star數&#xff1a;13199今日star數&#xff1a;459項目維護者&#xff1a;jklj077, JustinLin610, bug-orz, huybery, JianxinMa項目簡介&#xff1a;Qwen…

Java基礎面試題總結(題目來源JavaGuide)

問題1&#xff1a;Java 中有哪 8 種基本數據類型&#xff1f;它們的默認值和占用的空間大小知道不&#xff1f; 說說這 8 種基本數據類型對 應的包裝類型。 在 Java 中&#xff0c;有 8 種基本數據類型&#xff08;Primitive Types&#xff09;&#xff1a; 基本數據類型關鍵…

人工智能|基本概念|人工智能相關重要概念---AI定義以及模型相關知識

一、 前言&#xff1a; 最近deepseek&#xff08;深度求索&#xff09;公司的開源自然語言處理模型非常火爆。 本人很早就對人工智能比較感興趣&#xff0c;但由于種種原因沒有過多的深入此領域&#xff0c;僅僅是做了一點初步的了解&#xff0c;借著這個deepseek&#xff0…

Python GIL(全局解釋器鎖)機制對多線程性能影響的深度分析

在Python開發領域&#xff0c;GIL&#xff08;Global Interpreter Lock&#xff09;一直是一個廣受關注的技術話題。在3.13已經默認將GIL去除&#xff0c;在詳細介紹3.13的更親前&#xff0c;我們先要留了解GIL的技術本質、其對Python程序性能的影響。本文將主要基于CPython&am…

從0開始使用面對對象C語言搭建一個基于OLED的圖形顯示框架(繪圖設備封裝)

目錄 圖像層的底層抽象——繪圖設備抽象 如何抽象一個繪圖設備&#xff1f; 橋接繪圖設備&#xff0c;特化為OLED設備 題外話&#xff1a;設備的屬性&#xff0c;與設計一個相似函數化簡的通用辦法 使用函數指針來操作設備 總結一下 圖像層的底層抽象——繪圖設備抽象 在…

Git 版本控制:基礎介紹與常用操作

目錄 Git 的基本概念 Git 安裝與配置 Git 常用命令與操作 1. 初始化本地倉庫 2. 版本控制工作流程 3. 分支管理 4. 解決沖突 5. 回退和撤銷 6. 查看提交日志 前言 在軟件開發過程中&#xff0c;開發者常常需要在現有程序的基礎上進行修改和擴展。但如果不加以管理&am…

(筆記+作業)書生大模型實戰營春節卷王班---L0G2000 Python 基礎知識

學員闖關手冊&#xff1a;https://aicarrier.feishu.cn/wiki/QtJnweAW1iFl8LkoMKGcsUS9nld 課程視頻&#xff1a;https://www.bilibili.com/video/BV13U1VYmEUr/ 課程文檔&#xff1a;https://github.com/InternLM/Tutorial/tree/camp4/docs/L0/Python 關卡作業&#xff1a;htt…

仿真設計|基于51單片機的高速路口貨車稱重系統仿真

目錄 具體實現功能 設計介紹 51單片機簡介 資料內容 仿真實現&#xff08;protues8.7&#xff09; 程序&#xff08;Keil5&#xff09; 全部內容 資料獲取 具體實現功能 &#xff08;1&#xff09;LCD1602液晶第一行顯示當前的車輛重量&#xff0c;第二行顯示車輛重量…

Ubuntu Server 安裝 XFCE4桌面

Ubuntu Server沒有桌面環境&#xff0c;一些軟件有桌面環境使用起來才更加方便&#xff0c;所以我嘗試安裝桌面環境。常用的桌面環境有&#xff1a;GNOME、KDE Plasma、XFCE4等。這里我選擇安裝XFCE4桌面環境&#xff0c;主要因為它是一個極輕量級的桌面環境&#xff0c;適合內…

2025:影刀RPA使用新實踐--CSDN博客下載

文章目錄 一鍵CSDN博客下載器程序說明指導說明使用步驟 獲取方法 一鍵CSDN博客下載器 程序說明 配置信息&#xff1a;CSDN賬號&#xff08;手機號/郵箱/用戶名&#xff09;、密碼、博客文件類型支持markdown格式、html格式&#xff08;默認值markdown格式&#xff09;、博客保…

深度學習的應用

目錄 一、機器視覺 1.1 應用場景 1.2 常見的計算機視覺任務 1.2.1 圖像分類 1.2.2 目標檢測 1.2.3 圖像分割 二、自然語言處理 三、推薦系統 3.1 常用的推薦系統算法實現方案 四、圖像分類實驗補充 4.1 CIFAR-100 數據集實驗 實驗代碼 4.2 CIFAR-10 實驗代碼 深…

前端js高級25.1.30

原型&#xff1a;函數的組成結構 通過這個圖我們需要知道。 假設我們創建了一個Foo函數。 規則&#xff1a;Function.protoType是函數顯示原型。__proto__是隱式對象。 Function、Object、Foo函數的__proto__指向了Function.protoType說明。這三個都依托function函數來創建。…

android 音視頻系列引導

音視頻這塊的知識點自己工作中有用到&#xff0c;一直沒有好好做一個總結&#xff0c;原因有客觀和主觀的。 客觀是工作太忙&#xff0c;沒有成段時間做總結。 主觀自己懶。 趁著這次主動離職拿了n1的錢&#xff0c;休息一下&#xff0c;對自己的人生做一下總結&#xff0c;…

為AI聊天工具添加一個知識系統 之80 詳細設計之21 符號邏輯 之1

本文要點 要點 前面我們討論了本項目中的正則表達式。現在我們將前面討論的正則表達式視為狹義的符號文本及其符號規則rule&#xff08;認識的原則--認識上認識對象的約束&#xff09;&#xff0c;進而在更廣泛的視角下將其視為符號邏輯及其符號原則principle&#xff08;知識…

.NET Core緩存

目錄 緩存的概念 客戶端響應緩存 cache-control 服務器端響應緩存 內存緩存&#xff08;In-memory cache&#xff09; 用法 GetOrCreateAsync 緩存過期時間策略 緩存的過期時間 解決方法&#xff1a; 兩種過期時間策略&#xff1a; 絕對過期時間 滑動過期時間 兩…

自動駕駛---蘇箐對智駕產品的思考

1 前言 對于更高級別的自動駕駛&#xff0c;很多人都有不同的思考&#xff0c;方案也好&#xff0c;產品也罷。最近在圈內一位知名的自動駕駛專家蘇箐發表了他自己對于自動駕駛未來的思考。 蘇箐是地平線的副總裁兼首席架構師&#xff0c;同時也是高階智能駕駛解決方案SuperDri…

Sklearn 中的邏輯回歸

邏輯回歸的數學模型 基本模型 邏輯回歸主要用于處理二分類問題。二分類問題對于模型的輸出包含 0 和 1&#xff0c;是一個不連續的值。分類問題的結果一般不能由線性函數求出。這里就需要一個特別的函數來求解&#xff0c;這里引入一個新的函數 Sigmoid 函數&#xff0c;也成…