docker和containerd從TLS harbor拉取鏡像

私有鏡像倉庫配置了自簽名證書,https訪問,好處是不需要處理免費證書和付費證書帶來的證書文件變更,證書文件變更后需要重啟服務,自簽名證書需要將一套客戶端證書存放在/etc/docker/cert.d目錄下,或者/etc/containerd/certs.d下

一、docker和containerd配置Harbor TLS

docker和containerd都放在certs.d目錄下

/etc/docker/certs.d/
├── harbor.devops.baga.life
│ ├── ca.crt
│ ├── harbor.devops.baga.life.cert
│ └──harbor.devops.baga.life.key

docker可以去login測試harbor的登錄

docker login harbor.devops.baga.life -u 'robot$robot' -p 'xxxxxxx'

containerd不能直接登錄harbor倉庫,通過賬號密碼訪問,配置在/etc/containerd/config.toml下

    [plugins."io.containerd.grpc.v1.cri".registry]config_path = "/etc/containerd/certs.d"[plugins."io.containerd.grpc.v1.cri".registry.configs][plugins."io.containerd.grpc.v1.cri".registry.configs."sealos.hub:5000".auth]username = "admin"password = "passw0rd"[plugins."io.containerd.grpc.v1.cri".registry.configs."harbor.devops.baga.life".auth]username = "robot$robot"password = "xxxxxxx"

配置完成以后可以重啟一下docker或者containerd

二、拉取測試

用ctr操作推送失敗了,換個思路,我先在其他機器上用docker拉取鏡像,打tag以后推送至鏡像倉庫。最后讓ctr去進行拉取

1、docker拉取鏡像
docker pull ubuntu
2、打tag
docker tag ubuntu:latest harbor.devops.baga.life/base/ubuntu:tmp
3、推送鏡像
$ docker push harbor.devops.baga.life/base/ubuntu:tmp
The push refers to repository [harbor.devops.baga.life/base/ubuntu]
4b7c01ed0534: Pushed 
tmp: digest: sha256:104f82606ea66da00e6cfecbcccdb53ba4238a7057bed809f004107ad8e90c97 size: 529?	docker push 只會推送本地和遠程不同的層,如果 harbor.devops.baga.life 已經有相同的鏡像層,那么 Docker 只會推送元數據,實際數據不會重復上傳。?	size: 529 代表的是 manifest 文件的大小,而不是整個鏡像的大小。
4、拉取鏡像
crictl pull harbor.devops.baga.life/base/ubuntu:tmp

三、不同點

首先是docker命令和ctr展示不同,containerd用了命名空間,默認default,但很多鏡像存儲在k8s.io中
可以通過crictl命令操作containerd,和docker操作方式類似,但無法給鏡像打tag和推送,只能拉取

鏡像大小不同

# 這是docker鏡像大小
redis                                 latest    43724892d6db     7 weeks ago   117MB
# 這是containerd鏡像大小
harbor.devops.baga.life/base/redis      tmp        43724892d6db0       45.9MB

可以看到鏡像id相同,但是大小差了很多
差異主要原因如下:
1、Docker和CRI(容器運行時接口)報告大小的方式不同:

  • Docker通常顯示鏡像的"虛擬大小"(所有層的總和)
  • crictl/containerd通常顯示鏡像的"壓縮大小"或者僅特定層的大小

2、共享層的計算方式:Docker可能將已有的共享層計入總大小,而crictl可能只計算唯一層。
3、虛擬大小與實際占用空間:117MB可能是鏡像的"虛擬大小",而實際存儲空間占用更小,約45.9MB。

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

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

相關文章

linux ununtu通過nginx-1.6.2.tar.gz安裝nginx并安裝在自定義目錄XXX下 的步驟

Ubuntu 下通過源碼安裝 Nginx 1.6.2 到自定義目錄 /home/aot/nginx 的步驟 以下是將 Nginx 1.6.2 源碼包離線安裝到自定義目錄的詳細流程,包含依賴管理、編譯配置和服務管理: 一、準備工作 1. 下載源碼包和依賴(需聯網環境準備)…

C++ 變量的輸入輸出教程

一、變量的基本概念 在 C 中,變量是用于存儲數據的命名內存位置。在使用變量之前,需要先聲明它的類型和名稱,這樣編譯器才能為其分配適當大小的內存空間。例如: int age; // 聲明一個整型變量 age double salary; // 聲明一個…

React底層常見的設計模式

在React中,常見的設計模式為開發者提供了結構化和可重用的解決方案,有助于提高代碼的可維護性和可擴展性。以下是對React中幾種常見設計模式的詳細解析,并附上示例代碼和注釋: 1. 容器組件與展示組件模式(Container/P…

【MATLAB例程】三維下的IMM(交互式多模型),模型使用CV(勻速)和CA(勻加速)

給出三維下的交互式多模型(IMM)matlab例程,模型使用勻速運動CV和勻加速運動CA,濾波使用EKF(擴展卡爾曼濾波) 文章目錄 代碼運行結果程序結構 代碼講解模型定義:軌跡生成:IMM核心流程…

物理內存組織與分配的核心概念

在 Linux 內核內存管理(尤其是 Buddy System 伙伴系統)中,node、zone、type 和 order 是描述物理內存組織與分配的核心概念。以下是它們的詳細解釋: 1. Node(NUMA 節點) 定義: 在 NUMA&#xf…

智科技賦能寵物關懷新時代

在科技日新月異的今天,智能寵物監控技術正悄然引領寵物護理領域的新變革。借助尖端的傳感器技術、高清攝像頭以及強大的數據分析能力,這些智能系統為寵物主人開辟了前所未有的寵物關懷途徑,讓愛與關懷跨越時空限制。 智能寵物監控系統的核心…

SOME/IP 教程知識點總結

總結關于SOME/IP的教程,首先通讀整個文件,理解各個部分的內容。看起來這個教程從介紹開始,講到了為什么在車輛中使用以太網,然后詳細講解了SOME/IP的概念、序列化、消息傳遞、服務發現(SOME/IP-SD)、發布/訂閱機制以及支持情況。 首先,我需要確認每個章節的主要知識點。…

playbin之autoplug_factories源碼剖析

一、autoplug_factories_cb /* Called when we must provide a list of factories to plug to pad with caps.* We first check if we have a sink that can handle the format and if we do, we* return NULL, to expose the pad. If we have no sink (or the sink does not…

58區間和+44開發商購買土地(前綴和)

58. 區間和(第九期模擬筆試) 題目描述 給定一個整數數組 Array,請計算該數組在每個指定區間內元素的總和。 輸入描述 第一行輸入為整數數組 Array 的長度 n,接下來 n 行,每行一個整數,表示數組的元素。…

laravel11設置中文語言包

安裝中文語言包 Laravel 11 默認沒有內置完整中文語言包,推薦使用第三方維護的完整翻譯: # 通過 Composer 安裝語言包 composer require laravel-lang/common --dev# 發布中文語言文件到項目 php artisan lang:add zh_CN這會自動將中文語言文件生成到 l…

智能文檔解析與語義分割:LlamaIndex 節點解析器模塊全解

節點解析器模塊 - LlamaIndex 文件內容的節點解析器 有幾種基于文件的節點解析器,它們會根據解析的內容類型(JSON、Markdown 等)創建節點。 最簡單的流程是將 FlatFileReader 與 SimpleFileNodeParser 結合使用,自動為每種內容類型選擇最佳節點解析器。然后,可以將基于…

實現遍歷Windows所有字體的基本屬性

參考podofo #include <windows.h> #include <string> #include <memory> #include <set> #include <unordered_map> #include <vector> #include <algorithm> #include <iostream> #include <iomanip> #include <fst…

postman--接口測試工具安裝和使用教程

postman–接口測試工具 postman是一款支持http協議的接口調試與測試工具&#xff0c;其主要特點就是功能強大&#xff0c;使用簡單且易用性好 。 無論是開發人員進行接口調試&#xff0c;還是測試人員做接口測試&#xff0c;postman都是我們的首選工具之一 。 下面先通過一張…

綜合練習 —— 遞歸、搜索與回溯算法

目錄 一、1863. 找出所有子集的異或總和再求和 - 力扣&#xff08;LeetCode&#xff09; 算法代碼&#xff1a; 代碼思路 問題分析 核心思想 實現細節 代碼解析 初始化 DFS 函數 時間復雜度 空間復雜度 示例運行 輸入 運行過程 總結 二、 47. 全排列 II - 力扣&a…

代碼隨想錄算法訓練day64---圖論系列8《拓撲排序dijkstra(樸素版)》

代碼隨想錄算法訓練 —day64 文章目錄 代碼隨想錄算法訓練前言一、53. 117. 軟件構建—拓撲排序二、47. 參加科學大會---dijkstra&#xff08;樸素版&#xff09;總結 前言 今天是算法營的第64天&#xff0c;希望自己能夠堅持下來&#xff01; 今天繼續圖論part&#xff01;今…

學術小助手智能體

學術小助手&#xff1a;開學季的學術領航員 文心智能體平臺AgentBuilder | 想象即現實 文心智能體平臺AgentBuilder&#xff0c;是百度推出的基于文心大模型的智能體平臺&#xff0c;支持廣大開發者根據自身行業領域、應用場景&#xff0c;選取不同類型的開發方式&#xff0c;…

JavaScript 簡單類型與復雜類型-復雜類型傳參

在JavaScript中&#xff0c;變量根據其存儲的數據類型可分為簡單類型&#xff08;基本數據類型&#xff09;和復雜類型&#xff08;引用數據類型&#xff09;。理解這兩者在函數調用時的行為差異對于編寫高效且無誤的代碼至關重要。本文將專注于探討復雜類型的參數傳遞機制&…

L2-043 龍龍送外賣(dfs)

龍龍是“飽了呀”外賣軟件的注冊騎手&#xff0c;負責送帕特小區的外賣。帕特小區的構造非常特別&#xff0c;都是雙向道路且沒有構成環 —— 你可以簡單地認為小區的路構成了一棵樹&#xff0c;根結點是外賣站&#xff0c;樹上的結點就是要送餐的地址。 每到中午 12 點&#…

如何基于PyTorch做二次開發

基于PyTorch進行二次開發以實現可視化工程&#xff0c;可以從以下幾個方面入手&#xff1a;模型結構可視化、訓練過程監控、特征可視化等。以下是一些推薦的GitHub項目&#xff0c;這些項目可以幫助你快速搭建一個可視化的工程環境&#xff1a; ### 1. **PyTorch CNN Visualiz…

本地大模型編程實戰(26)用langgraph實現基于SQL數據構建的問答系統(5)

本文將將擴展上一篇文章完成的 langgraph 鏈&#xff0c;繼續使用基于 langgraph 鏈 &#xff0c;對結構化數據庫 SQlite 進行查詢的方法。該系統建立以后&#xff0c;我們不需要掌握專業的 SQL 技能&#xff0c;可以用自然語言詢問有關數據庫中數據的問題并返回答案。主要完善…