解決docker鏡像pull失敗的有效

機器環境

本實踐將在 Ubuntu 22.04.3LTS 系統上進行測試
docker 版本Docker Engine - Community 24.0.6 ,原則上docker版本無影響
本實踐進僅學習研究使用,無作他用途。

背景

曾幾何時,docker鏡像的拉去會失敗,網速會慢,那會我們的通常處理方案是鏡像加速。如今,鏡像加速已經失效,我們如何解決?
本文將介紹一種解決方案的詳細步驟,同時給出其他方案。

方案一:

此方案需要你有一臺可以正常訪問官方鏡像的服務器。

情況一,鏡像很小比如 ubuntu:latest , 服務器磁盤夠用

# 服務器上備份 , 服務器通過為特殊的私有網絡
docker save -o ubuntu.tar ubuntu:latest
# 恢復到目標服務器 , 目標服務器通常為研發環境正常網絡
docker load -i ubuntu.tar

情況二,鏡像比較大,實力不允許,我的磁盤剩余有 32G

我用第一種方法竟然不能保存 pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel Compressed Size 7.54 GB

安裝 Skopeo

各平臺安裝方法參考 https://github.com/containers/skopeo/blob/main/install.md

# Ubuntu 20.10 and newer
sudo apt-get -y update
sudo apt-get -y install skopeo# 目前最新版本 1.15.1
skopeo -v
# skopeo version 1.4.1

測試了下目前版本夠用,就沒折騰安裝最新版本了。

保存鏡像以及恢復鏡像
# 保存鏡像
skopeo copy --retry-times=16  docker://pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel docker-archive:pytorch-1.9.0-cuda11.1-cudnn8-devel.tar:pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel# 看了下大小,比官網壓縮的大了好多好多,怪不得 16*2 = 32G 不夠
du -sh pytorch-1.9.0-cuda11.1-cudnn8-devel.tar
16G	pytorch-1.9.0-cuda11.1-cudnn8-devel.tar# 恢復鏡像
docker load -i pytorch-1.9.0-cuda11.1-cudnn8-devel.tar
# 或
skopeo copy docker-archive:pytorch-1.9.0-cuda11.1-cudnn8-devel.tar docker-daemon:pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel

方案二 (由于第一個方案解決了我的問題,沒有進行測試)

阿里出品 image-syncer 鏡像同步工具 , 參考網站 https://github.com/AliyunContainerService/image-syncer
image-syncer 是一個容器鏡像同步工具,可用來進行多對多的鏡像倉庫同步,支持目前絕大多數主流的 docker 鏡像倉庫服務

image-syncer

image-syncer 是一個容器鏡像同步工具,可用來進行多對多的鏡像倉庫同步,支持目前絕大多數主流的 docker 鏡像倉庫服務

Features

  • 支持多對多鏡像倉庫同步
  • 支持基于 Docker Registry V2 搭建的鏡像倉庫服務 (如 Docker Hub、 Quay、 阿里云鏡像服務 ACR、 Harbor 等)
  • 同步過程只經過內存和網絡,不依賴磁盤存儲,同步速度快
  • 自動增量同步, 自動忽略已同步且不需要修改的鏡像
  • 支持鏡像層級別的并發同步,可以通過配置文件調整并發數(可以理解為同一時間在同步的鏡像層數量上限)
  • 自動重試失敗的同步任務,可以解決大部分鏡像同步中的偶發問題(限流、網絡抖動),支持重試次數配置
  • 簡單輕量,不依賴 docker 以及其他程序

其他方案

  • 用github的workflow來同步鏡像到私有的鏡像庫,比如阿里云;這個可以解決一些小鏡像,大的鏡像會導致太多問題。

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

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

相關文章

代碼隨想錄算法訓練營第五十三天| 739. 每日溫度、 496.下一個更大元素 I、503.下一個更大元素II

LeetCode 739. 每日溫度 題目鏈接:https://leetcode.cn/problems/daily-temperatures/description/ 文章鏈接:https://programmercarl.com/0739.%E6%AF%8F%E6%97%A5%E6%B8%A9%E5%BA%A6.html 思路 * 單調棧的本質是空間換時間,因為在遍歷的過…

【論文閱讀】transformer及其變體

寫在前面: transformer模型已經是老生常談的一個東西,以transformer為基礎出現了很多變體和文章,Informer、autoformer、itransformer等等都是頂刊頂會。一提到transformer自然就是注意力機制,變體更是數不勝數,一提到…

【目標檢測】DN-DETR

一、引言 論文: DN-DETR: Accelerate DETR Training by Introducing Query DeNoising 作者: IDEA 代碼: DN-DETR 注意: 該算法是在DAB-DETR基礎上的改進,在學習該算法前,建議掌握DETR、DAB-DETR等相關知識…

TCP和UDP的區別以及應用場景

TCP(傳輸控制協議)和UDP(用戶數據報協議)是兩種不同的傳輸層協議 區別 TCP是面向連接的,UDP是無連接的; TCP是可靠的,UDP是不可靠的; TCP是面向字節流的,UDP是面向數據…

如何高效配置與使用Pip換源

目錄 1. Pip源的基本概念 1.1 常見的國內鏡像源 2. 臨時換源 2.1 使用命令行參數指定鏡像源 2.2 安裝多個包時指定鏡像源 3. 永久換源 3.1 修改用戶級配置文件 3.1.1 創建和編輯配置文件 3.2 修改全局配置文件 3.2.1 創建和編輯全局配置文件 4. 驗證換源配置 5. 切…

VMamba: Visual State Space Model論文筆記

文章目錄 VMamba: Visual State Space Model摘要引言相關工作Preliminaries方法網絡結構2D-Selective-Scan for Vision Data(SS2D) VMamba: Visual State Space Model 論文地址: https://arxiv.org/abs/2401.10166 代碼地址: https://github.com/MzeroMiko/VMamba 摘要 卷積神…

防火墻共性檢測技術

防火墻共性檢測技術 防火墻共性檢測技術是指防火墻在監控和控制網絡流量時,共同采用的一些檢測和過濾方法。無論是哪種類型的防火墻,這些技術都可以用于識別和阻止惡意流量,確保網絡安全。以下是防火墻共性檢測技術的詳細介紹,包…

axios的基本使用和vue腳手架自帶的跨域問題解決

axios的基本使用和vue腳手架自帶的跨域問題解決 1. axios 1.1 導入axios npm i axios1.2 創建serve1.js serve1.js const express require(express) const app express()app.use((request,response,next)>{console.log(有人請求服務器1了);console.log(請求來自于,re…

go Channel 原理 (一)

Channel 設計原理 不要通過共享內存的方式進行通信,而是應該通過通信的方式共享內存。 在主流編程語言中,多個線程傳遞數據的方式一般都是共享內存。 Go 可以使用共享內存加互斥鎖進行通信,同時也提供了一種不同的并發模型,即通…

npm ci vs npm i

npm ci vs npm i 幾個關鍵區別:該選擇哪個? 通過 npm ci 和 npm i 兩個命令,都可安裝項目的依賴。那么這兩個命令有什么區別呢? 幾個關鍵區別: 目的和用途: npm ci :根據項目中的 package-lock…

AI奏響未來樂章:音樂界的革命性變革

AI在創造還是毀掉音樂 引言 隨著科技的飛速發展,人工智能(AI)正在逐漸滲透到我們生活的每一個角落,音樂領域也不例外。AI技術的引入,不僅為音樂創作、教育、體驗帶來了革命性的變革,更為整個音樂產業注入了…

順序表應用——通訊錄

在本篇之前的順序表專題我們已經學習的順序表的實現,了解了如何實現順序表的插入和刪除等功能,那么在本篇當中就要學習基于順序表來實現通訊錄,在通訊錄當中能實現聯系人的增、刪、查改等功能,接下來就讓我們一起來實現通訊錄吧&a…

grpc學習golang版( 五、多proto文件示例 )

系列文章目錄 第一章 grpc基本概念與安裝 第二章 grpc入門示例 第三章 proto文件數據類型 第四章 多服務示例 第五章 多proto文件示例 第六章 服務器流式傳輸 第七章 客戶端流式傳輸 第八章 雙向流示例 文章目錄 一、前言二、定義proto文件2.1 公共proto文件2.2 語音喚醒proto文…

解決Vue3項目中跨域問題的步驟

決Vue3項目中跨域問題的步驟可以按照以下方式清晰地分點表示和歸納: 1. 使用代理服務器(Proxy) 步驟: 在Vue項目的根目錄下找到或創建vue.config.js文件。在vue.config.js中配置devServer的proxy選項。設定需要代理的接口前綴&a…

基于局域網下的服務器連接、文件傳輸以及內網穿透教程 | 服務器連接ssh | 服務器文件傳輸scp | 內網穿透frp | 研究生入學必備 | 深度學習必備

🙋大家好!我是毛毛張! 🌈個人首頁: 神馬都會億點點的毛毛張 📌本篇博客分享的是基于局域網下的服務器連接🔗、文件傳輸以及內網穿透教程,內容非常完備?,涵蓋了在服務器上做深度學…

樹莓派3B讀寫EEPROM芯片AT24C256

AT24C256是一個Atmel公司的EEPROM存儲芯片,容量是256K個bit(也就是32K字節),I2C接口,而樹莓派正好有I2C接口,如下圖藍框中的4個IO口, 把AT24C256和這4個口接在一起,這樣硬件就準備好…

Django 頁面展示模型創建表的數據

1,添加視圖函數 Test/app8/urls.py from django.shortcuts import render from .models import Userdef create_user(request):if request.method POST:username request.POST.get(username)email request.POST.get(email)# ... 獲取其他字段的值# 創建用戶實例…

【Python學習篇】Python實驗小練習——異常處理(十三)

個人名片: 🎓作者簡介:嵌入式領域優質創作者🌐個人主頁:妄北y 📞個人QQ:2061314755 💌個人郵箱:[mailto:2061314755qq.com] 📱個人微信:Vir2025WB…

【教程】5分鐘直接了解隨機森林模型

本文來自《老餅講解-BP神經網絡》https://www.bbbdata.com/ 目錄 一、什么是隨機森林模型1.1.隨機森林模型介紹1.2.為什么隨機森林要用多棵決策樹 二、怎么訓練一個隨機森林模型2.1.訓練一個隨機森林模型 隨機森林模型是機器學習中常用的模型之一,它是決策樹模型的一…

Node.js全棧指南:靜態資源服務器

上一章【認識 MIME 和 HTTP】。 我們認識和了解了 MIME 的概念和作用,也簡單地學習了通過瀏覽器控制臺查看請求和返回的用法。 通過對不同的 HTML、CSS、JS 文件進行判斷,設置不同的 MIME 值,得以讓我們的瀏覽器正正確地接收和顯示不同的文…