從Docker拉取鏡像一直失敗超時解決辦法

項目場景:

在ubuntu中,使用docker拉去鏡像時,一直超時,拉去失敗。


問題描述

在這里插入圖片描述


原因分析:

國外服務器網絡不好導致。


解決方案:

解決方案1 設置國內源

我這邊測試,更改以后仍然失敗
阿里云提供了鏡像源:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 登錄后你會獲得一個專屬的地址
使用命令設置國內鏡像源:通過vim /etc/docker/daemon.json 進入修改添加 registry-mirrors 內容后重啟 Docker

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://***替換為你的地址***.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

此命令會創建一個 /etc/docker/daemon.json 文件,并將國內源的配置寫入其中。然后你只需要重啟 Docker 服務即可使配置生效,可以通過運行 sudo systemctl restart docker 命令來重啟 Docker 服務。

解決方案2 配置加速地址(推薦)

1 配置加速地址:適用于Ubuntu 16.04+、Debian 8+、CentOS 7+

方式一:使用以下命令設置registry mirror:但是需要重啟docker服務

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

檢查加速是否生效:

查看docker系統信息 docker info,如果從輸出結果中看到了 registry mirror 剛配置的內容地址,說明配置成功。

方式二:如果您當前有正在運行的容器不方便重啟Docker服務,則不用設置環境也可以直接使用,用法示例:

docker pull do.nark.eu.org/library/mysql:5.7

2 第三方鏡像

AtomHub 可信鏡像中心 - 大部分需要的鏡像都是有的。
可信鏡像中心官網:https://atomhub.openatom.cn/
通過搜索需要的鏡像名稱,進行pull拉取,用法示例:

docker pull atomhub.openatom.cn/amd64/redis:7.0.13

注意:docker compose 中要執行部署時,可以把版本與 atomhub 提供的版本匹配上,之后通過【拉取命令】進行單獨拉取后,在執行 docker compose 就可以了。

加速代理站點:

專門為Github用戶提供下載加速服務的代理站點。由于Github的下載速度在某些地區可能會受到限制,導致開發者在獲取代碼庫、項目文件等資源時遇到困難。該代理站點通過優化的網絡節點和高速服務器,為用戶提供快速、穩定的Github資源下載服務。
站點地址:https://docker.888666222.xyz/

第一步:為了加速鏡像拉取,你可以使用以下命令設置 registry mirror:sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://docker.888666222.xyz"]
}
EOF
第二步:為了避免 Worker 用量耗盡,你可以手動 pull 鏡像然后 re-tag 之后 push 至本地鏡像倉庫:docker pull docker.888666222.xyz/library/alpine:latest # 拉取 library 鏡像
docker pull docker.888666222.xyz/coredns/coredns:latest # 拉取 coredns 鏡像

解決方案3 使用代理拉取鏡像

第一步:創建配置文件
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf第二步:在文件中添加代理
[Service]
Environment="HTTP_PROXY=socks5://user:pass@127.0.0.1:1080"
Environment="HTTPS_PROXY=socks5://user:pass@127.0.0.1:1080"第三步:重啟Docker
sudo systemctl daemon-reload
sudo systemctl restart docker第四步:查看環境變量
sudo systemctl show --property=Environment docker

解決方案4 備用辦法:直接傳送鏡像

國外服務器拉取鏡像后打包壓縮到本地,然后傳輸到國內服務器,myimage為鏡像名

第一步:A服務器保存Docker鏡像
docker save myimage > myimage.tar第二步:傳送到B服務器
scp myimage.tar root@192.0.2.0:/home
然后輸入B服務器root密碼第三步:B服務器加載Docker鏡像
cd /home
docker load < myimage.tar第四步:查看鏡像
docker images

目前可用的鏡像代理:
拉取 pull 鏡像時,遇到不可用、關停、訪問比較慢的狀態,建議同時配置多個鏡像源。

供應商地址
DaoCloudhttps://docker.m.daocloud.io
阿里云https://<your_code>.mirror.aliyuncs.com
Docker鏡像代理https://dockerproxy.com
百度云https://mirror.baidubce.com
南京大學https://docker.nju.edu.cn
中科院https://mirror.iscas.ac.cn

小福利:
近期 Rainbond 社區為了方便拉取 Docker 鏡像,自主搭建了個鏡像加速服務,采用 CloudFlare + 國外服務器 Nginx 反代的方案為 Rainbond 社區的用戶們提供鏡像加速服務。

方式一:直接獲取 Docker Hub 鏡像
docker pull docker.rainbond.cc/library/node:20
docker pull docker.rainbond.cc/rainbond/rainbond:v5.17.2-release-allinone方式二:配置鏡像加速器
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.rainbond.cc"]
}
EOF
systemctl daemon-reload
systemctl restart docker技術棧參考LINK
https://www.rainbond.com/docs/quick-start/quick-install

解決辦法千萬條:
面對問題時,解決的途徑和方法是多種多樣的。每個人、每個團隊在面對問題時,都可以根據自身的情況和資源,創造性地找到最適合自己的解決辦法。

Docker Hub 鏡像加速: https://gitee.com/wanfeng789/docker-hub
國內無法訪問下載Docker鏡像的多種解決方案:https://www.bilibili.com/read/cv35387254/
總結目前國內加速拉取 docker 鏡像的幾種方法:https://zhuanlan.zhihu.com/p/703322576
從Docker Hub拉取鏡像受阻?這些解決方案幫你輕松應對:https://mp.weixin.qq.com/s/pXrxedldKOoD97bMDYy3pQ

參考鏈接

[1]從Docker拉取鏡像一直失敗超時?這些解決方案幫你解決煩惱

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

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

相關文章

KONG根據請求參數限流

背景 價格接口 /search 同時支持緩存查價和實時查價&#xff0c;主要通過searchType字段區分這兩種請求。 searchType 為空時為緩存查價&#xff0c;QPS很高。searchType 不為空時為實時查價&#xff0c;但QPS遠低于普通查價。 如果直接對該接口限流&#xff0c;當流量波動超…

通俗易懂解析:@ComponentScan 與 @MapperScan 的異同與用法

在 Spring 和 MyBatis 集成開發中&#xff0c;ComponentScan 和 MapperScan 是兩個核心注解&#xff0c;但它們的用途和工作機制截然不同。本文將通過通俗的語言和示例代碼&#xff0c;帶您輕松掌握它們的區別和使用方法。 一、基礎概念 ComponentScan&#xff1a;Spring 的“通…

39. 自動化異步測試開發之編寫異步業務函數、測試函數和測試類(函數寫法)

39. 自動化異步測試開發之編寫異步業務函數、測試函數和測試類&#xff08;函數寫法&#xff09; 一、異步業務函數解析 1.1 頁面導航函數 async def get(async_driver, url: str http://secure.smartbearsoftware.com/samples/testcomplete12/WebOrders/Login.aspx):await…

Qt 無邊框窗口實現拖動與窗口控制(最小化/最大化/關閉)

在 Qt 中&#xff0c;使用 Qt::FramelessWindowHint 可以創建無邊框窗口&#xff0c;但這樣會導致窗口無法拖動&#xff0c;并且系統默認的標題欄按鈕&#xff08;最小化、最大化、關閉&#xff09;也會消失。本文將介紹如何實現無邊框窗口的鼠標拖動功能&#xff0c;并添加自定…

Linux中的System V通信標準-共享內存、消息隊列以及信號量

在Linux系統中&#xff0c;System V IPC&#xff08;Inter-Process Communication&#xff09;提供了一系列進程間通信的機制&#xff0c;包括共享內存、消息隊列和信號量。這些機制在系統中發揮了重要作用&#xff0c;幫助進程之間進行數據交換和同步。本文將詳細介紹這些機制…

postman工具使用

基本功能操作 常用斷言 定義&#xff1a;postman 斷言借助 JavaScript - js 語言編寫代碼&#xff0c;自動判斷預期結果與實際結果是否一致。&#xff08; 注意斷言 代碼寫在 Tests 的標簽中&#xff09; 斷言響應狀態碼 斷言響應體是否包含某個字符串&#xff08;Response bo…

VBA數據庫解決方案二十:Select表達式From區域Where條件Order by

《VBA數據庫解決方案》教程&#xff08;版權10090845&#xff09;是我推出的第二套教程&#xff0c;目前已經是第二版修訂了。這套教程定位于中級&#xff0c;是學完字典后的另一個專題講解。數據庫是數據處理的利器&#xff0c;教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法…

算法-集合的使用

1、set常用操作 set<int> q; //以int型為例 默認按鍵值升序 set<int,greater<int>> p; //降序排列 int x; q.insert(x); //將x插入q中 q.erase(x); //刪除q中的x元素,返回0或1,0表示set中不存在x q.clear(); //清空q q.empty(); //判斷q是否為空&a…

C++文件和流基礎

C文件和流基礎 1. C文件和流基礎1.1 文件和流的概念1.2 標準庫支持1.3 常用文件流類ifstream 類ofstream 類fstream 類 2.1 打開文件使用構造函數打開文件使用 open() 成員函數打開文件打開文件的模式標志 2.2 關閉文件使用 close() 成員函數關閉文件關閉文件的重要性 3.1 寫入…

Maven---配置本地倉庫

目錄 5. 5.1在Maven路徑下新建文件夾用于本地倉庫存儲 5.2 復制本地倉庫路徑 5.3 找到配置文件路徑&#xff0c;使用VSCode方式打開 5.4 新增一行代碼 5.5 復制本地倉庫路徑&#xff0c;設置存儲路徑 5.1在Maven路徑下新建文件夾用于本地倉庫存儲 5.2 復制本地倉庫路徑 5…

Vue3 + Element Plus + TypeScript 中 el-cascader 實現模擬用戶點擊功能

模擬點擊&#xff0c;調用 el-cascader 的公開方法 togglePopperVisible 來展開下拉框 MaterialOut.vue <script setup lang"ts" name"MaterialOut"> ...... import { ElMessage, type ElCascader } from "element-plus";// 級聯組件實例…

新能源汽車與油車銷量

中國油車與新能源車銷量對比&#xff08;2022-2025年&#xff09; ?1. 市場份額演化&#xff08;2022-2025年&#xff09;? ?年份? ?新能源車銷量 &#xff08;滲透率&#xff09;? ?燃油車銷量 &#xff08;滲透率&#xff09;? ?關鍵事件? ?2022? 688.7萬輛…

C++ list代碼練習、set基礎概念、set對象創建、set大小操作

對應力扣&#xff0c;回文鏈表&#xff0c;代碼見下 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, …

前端面試寶典---前端水印

明水印 1. 背景圖 通過css的background-image加載背景圖 2. canvasbackground水印 前端水印實現思路與示例代碼 一、核心實現思路 Canvas動態生成水印 通過Canvas繪制文本或圖案&#xff0c;將生成的圖像轉為Base64格式&#xff0c;作為背景圖重復平鋪到目標元素上。例如&…

惡意軟件清理工具,讓Mac電腦安全更簡單

?你的Mac最近是不是開始表演"電子迷惑行為"&#xff1f;瀏覽器主頁突然變成澳門賭場&#xff0c;風扇轉得比直升機螺旋槳還猛......恭喜你&#xff01;可能中獎獲得"惡意軟件大禮包"&#xff01;別慌&#xff0c;今天就教你用惡意軟件清理工具化身數字特工…

Spring Boot 3.X 下Redis緩存的嘗試(二):自動注解實現自動化緩存操作

前言 上文我們做了在Spring Boot下對Redis的基本操作&#xff0c;如果頻繁對Redis進行操作而寫對應的方法顯示使用注釋更會更高效&#xff1b; 比如&#xff1a; 依之前操作對一個業務進行定入緩存需要把數據拉取到后再定入&#xff1b; 而今天我們可以通過注釋的方式不需要額外…

Deepseek應用技巧-Dify安裝和踩坑指南

前言&#xff1a;Dify的名號是非常大的&#xff0c;作為私有化AI部署中必不可少的一個組件&#xff0c;他的功能和COZE十分相似&#xff0c;可以進行工作流和智能體的搭建&#xff0c;有非常強大的功能&#xff0c;那本節就將來揭開Dify的神秘的面紗&#xff0c;首先看一下Dify…

ubuntu24.04安裝教程(圖文詳解)

Ubuntu 24.04 LTS&#xff0c;代號 Noble Numbat&#xff0c;于 2024 年 4 月 25 日發布&#xff0c;現在可以從 Ubuntu 官方網站及其鏡像下載。此版本將在 2029 年 4 月之前接收為期五年的官方安全和維護更新。 關于 Ubuntu 24.04 LTS 的一些關鍵點&#xff1a; 發布日期&am…

數據綁定頁面的完整的原理、邏輯關系、實現路徑是什么?頁面、表格、字段、屬性、值、按鈕、事件、模型、腳本、服務編排、連接器等之間的關系又是什么?

目錄 一、核心概念:什么是數據綁定頁面? 二、涉及的組件及其邏輯關系 頁面(Page): 表格(Table): 字段(Field): 屬性(Property): 值(Value): 按鈕(Button): 事件(Event): 模型(Model): 腳本(Script): 服務(Service): 服務編排(Se…

【 SpringCloud | 微服務 網關技術 】

單體架構時我們只需要完成一次用戶登錄、身份校驗&#xff0c;就可以在所有業務中獲取到用戶信息。而微服務拆分后&#xff0c;每個微服務都獨立部署&#xff0c;這就存在一些問題&#xff1a; 每個微服務都需要編寫登錄校驗、用戶信息獲取的功能嗎&#xff1f; 當微服務之間調…