国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker registry鏡像倉庫,私有倉庫及harbor管理詳解

這篇具有很好參考價值的文章主要介紹了Docker registry鏡像倉庫,私有倉庫及harbor管理詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

registry鏡像倉庫概述

Docker 鏡像倉庫(Docker Registry):

registry 容器:

私有倉庫概述

搭建本地私有倉庫示例

Harbor概述

harbor架構(gòu)

詳解構(gòu)成

Harbor由容器構(gòu)成

Harbor部署示例

環(huán)境準(zhǔn)備

部署Docker-Compose服務(wù)

部署 Harbor 服務(wù)

啟動Harbor

查看 Harbor 啟動鏡像

創(chuàng)建一個新項(xiàng)目

在其他客戶端上傳鏡像

維護(hù)管理Harbor

通過Harbor Web創(chuàng)建項(xiàng)目

創(chuàng)建 Harbor 用戶

查看日志

修改 Harbor.cfg 配置文件

移除 Harbor 服務(wù)容器同時保留鏡像數(shù)據(jù)/數(shù)據(jù)庫,并進(jìn)行遷移


registry鏡像倉庫概述

Docker 鏡像倉庫(Docker Registry)是一個用于存儲和管理 Docker 鏡像的中央倉庫。registry 容器就是運(yùn)行 Docker 鏡像倉庫服務(wù)的容器。

Docker 鏡像倉庫(Docker Registry):

定義: Docker 鏡像倉庫是一個集中存儲和管理 Docker 鏡像的服務(wù)。它允許用戶上傳、下載和分享 Docker 鏡像。最常見的 Docker Registry 是 Docker 官方提供的公共注冊表(Docker Hub),但用戶也可以搭建私有 Docker 鏡像倉庫,以在本地或私有網(wǎng)絡(luò)中管理鏡像。

功能:

  • 存儲鏡像: 提供一個集中的地方存儲 Docker 鏡像。

  • 版本控制: 允許同一鏡像的不同版本存在。

  • 訪問控制: 可以配置訪問權(quán)限,使鏡像倉庫可以是公開的或私有的。

  • 鏡像標(biāo)簽: 鏡像可以用標(biāo)簽來區(qū)分不同版本或變體。

  • 安全審計: 提供審計功能,追蹤誰上傳或下載了哪些鏡像。

常見的 Docker 鏡像倉庫:

  • Docker Hub: 官方的公共 Docker 鏡像倉庫。

  • Quay: 一個高性能、可擴(kuò)展的 Docker 鏡像 registry 服務(wù),提供強(qiáng)大的鏡像管理和訪問控制。

  • Harbor: 一個開源的企業(yè)級 Docker Registry,支持安全、可靠的鏡像管理。

registry 容器:

定義: registry 容器是運(yùn)行 Docker 鏡像倉庫服務(wù)的 Docker 容器。它使用 registry 鏡像,通過在容器內(nèi)提供 registry 服務(wù),允許用戶在本地或私有網(wǎng)絡(luò)中搭建自己的 Docker 鏡像倉庫。

運(yùn)行 registry 容器的步驟:

  • 拉取 registry 鏡像:
docker pull registry
  • 運(yùn)行 registry 容器:
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
  • -itd: 在容器中打開一個偽終端進(jìn)行交互操作,并在后臺運(yùn)行。

  • -v: 將宿主機(jī)的 /data/registry 目錄掛載到容器的 /var/lib/registry 目錄,實(shí)現(xiàn)數(shù)據(jù)的持久化。

  • -p: 映射端口,使得可以通過宿主機(jī)的 5000 端口訪問 registry 容器的服務(wù)。

  • --restart=always: 容器退出時總是重啟容器,確保服務(wù)的持續(xù)性。

  • --name registry: 為容器命名為 registry。

  • registry:latest: 使用最新版本的 registry 鏡像。

功能:

  • 提供鏡像服務(wù): 允許上傳、下載和管理 Docker 鏡像。

  • 數(shù)據(jù)持久化: 使用 -v 參數(shù)將宿主機(jī)目錄掛載到容器,確保數(shù)據(jù)的持久化。

  • 端口映射: 使用 -p 參數(shù)映射宿主機(jī)端口,方便外部訪問 registry 服務(wù)。

  • 自動重啟: 使用 --restart=always 參數(shù),保證容器在退出時自動重啟。

通過搭建 registry 容器,用戶可以在本地或私有網(wǎng)絡(luò)中建立自己的 Docker 鏡像倉庫,方便鏡像的管理和共享。

私有倉庫概述

????????Docker私有倉庫是指企業(yè)內(nèi)部使用的倉庫,用于存放自身開發(fā)的企業(yè)級應(yīng)用的鏡像。私有倉庫的主要優(yōu)點(diǎn)包括節(jié)省網(wǎng)絡(luò)帶寬和提供鏡像資源的有效利用。通過搭建本地私有倉庫,企業(yè)可以在內(nèi)部網(wǎng)絡(luò)中快速下載和上傳鏡像,不受外網(wǎng)帶寬等因素的影響。此外,私有倉庫還可以配置倉庫認(rèn)證功能,以確保只有授權(quán)的人員可以訪問和使用其中的鏡像。

搭建本地私有倉庫示例

下載 registry 鏡像:

docker pull registry

配置 daemon.json 文件:/etc/docker/daemon.json 文件中添加私有鏡像倉庫地址,同時配置其他參數(shù)

vim /etc/docker/daemon.json

{
  "insecure-registries": ["192.168.41.31:5000"],
  "registry-mirrors": ["https://ae3f5qei.mirror.aliyuncs.com"]
}

重啟 Docker 服務(wù):

systemctl restart docker.service

Docker 容器的重啟策略的解析:

  • no:

    • 默認(rèn)策略。

    • 當(dāng)容器退出時,不會自動重啟容器。

  • on-failure:

    • 在容器非正常退出時(退出狀態(tài)非0),才會觸發(fā)容器的自動重啟。

  • on-failure:3:

    • 在容器非正常退出時自動重啟容器,最多重啟3次。

    • 限制了容器的最大重啟次數(shù)。

  • always:

    • 在容器退出時總是自動重啟容器,不考慮退出的原因。

  • unless-stopped:

    • 在容器退出時總是自動重啟容器。

    • 不考慮在 Docker 守護(hù)進(jìn)程啟動時就已經(jīng)停止了的容器,即使在 Docker 守護(hù)進(jìn)程啟動時手動停止容器,也會被重啟。

????????這些重啟策略提供了對容器生命周期的不同控制選項(xiàng),以滿足不同場景下的需求。選擇適當(dāng)?shù)闹貑⒉呗钥梢源_保容器服務(wù)的可用性和穩(wěn)定性。

運(yùn)行 registry 容器:

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

解釋:

  • -itd: 在容器中打開一個偽終端進(jìn)行交互操作,并在后臺運(yùn)行。

  • -v: 將宿主機(jī)的 /data/registry 目錄綁定到容器的 /var/lib/registry 目錄,實(shí)現(xiàn)數(shù)據(jù)的持久化。/var/lib/registry目錄是registry容器中存放鏡像文件的目錄

  • -p: 映射端口,訪問宿主機(jī)的 5000 端口即可訪問 registry 容器的服務(wù)。

  • --restart=always: 容器退出時總是重啟容器。

  • --name registry: 創(chuàng)建容器并命名為 registry。

  • registry:latest: 使用最新版本的 registry 鏡像。

為鏡像打標(biāo)簽:

docker tag centos:7 192.168.41.31:5000/centos:v1

上傳到私有倉庫:

docker push 192.168.41.31:5000/centos:v1

列出私有倉庫的所有鏡像:

curl http://192.168.41.31:5000/v2/_catalog

查看私有倉庫的 centos 鏡像有哪些 tag:

curl http://192.168.41.31:5000/v2/centos/tags/list

刪除原有的 centos 鏡像,然后從私有倉庫下載:

docker rmi -f 8652b9f0cb4c
docker pull 192.168.41.31:5000/centos:v1

Harbor概述

????????Harbor是一個由VMware公司開源的企業(yè)級Docker Registry項(xiàng)目。它的目標(biāo)是幫助用戶快速搭建一個企業(yè)級的Docker Registry服務(wù)。

????????Harbor基于Docker公司開源的Registry,并提供了一些企業(yè)用戶需求的功能,如圖形管理界面、基于角色的訪問控制(Role Based Access Control)、AD/LDAP集成以及審計日志等。此外,Harbor還原生地支持中文。

????????Harbor的每個組件都以Docker容器的形式構(gòu)建,并使用docker-compose來進(jìn)行部署。用于部署Harbor的docker-compose模板可以在harbor/docker-compose.yml中找到。

harbor架構(gòu)

Docker registry鏡像倉庫,私有倉庫及harbor管理詳解,云,docker,eureka,容器,運(yùn)維,云原生

Docker registry鏡像倉庫,私有倉庫及harbor管理詳解,云,docker,eureka,容器,運(yùn)維,云原生

Harbor的整體架構(gòu)由以下幾個組件組成:

  • 代理層(Proxy Layer):代理層實(shí)質(zhì)上是一個Nginx反向代理,負(fù)責(zé)接收不同類型的客戶端請求,包括瀏覽器、用戶腳本、Docker等,并根據(jù)請求類型和URI轉(zhuǎn)發(fā)給不同的后端服務(wù)進(jìn)行處理。

  • 功能層(Functional Layer):

    • Portal:基于Angular的前端應(yīng)用,提供Harbor用戶訪問的界面。

    • Core:Harbor的核心組件,封裝了大部分的業(yè)務(wù)邏輯。

    • JobService:異步任務(wù)組件,負(fù)責(zé)處理Harbor中一些耗時的功能,如Artifact復(fù)制、掃描、垃圾回收等。

  • 數(shù)據(jù)層(Data Layer):

    • Redis:主要作為緩存服務(wù),存儲一些生命周期較短的數(shù)據(jù),并為JobService提供類似隊(duì)列的功能。

    • PostgreSQL:存儲Harbor的應(yīng)用數(shù)據(jù),包括項(xiàng)目信息、用戶與項(xiàng)目的關(guān)系、管理策略、配置信息、Artifact的元數(shù)據(jù)等。

詳解構(gòu)成

Harbor 在架構(gòu)上主要有 Proxy、Registry、Core services、Database(Harbor-db)、Log collector(Harbor-log)、Job services 六個組件。

  • Proxy(代理):使用Nginx作為前端代理,Harbor 的 Registry、UI、Token 服務(wù)等組件,都處在 nginx 反向代理后邊。會將來自瀏覽器和Docker客戶端的請求轉(zhuǎn)發(fā)給后端的不同服務(wù)。

  • Registry(注冊表):負(fù)責(zé)存儲Docker鏡像,并處理Docker push/pull命令。由于要對用戶進(jìn)行訪問控制,即不同用戶對 Docker 鏡像 有不同的讀寫權(quán)限,Registry 會指向一個 Token 服務(wù),強(qiáng)制用戶的每次 Docker pull/push 請求都要攜帶一個合法的 Token, Registry 會通過公鑰對 Token 進(jìn)行解密驗(yàn)證。

    認(rèn)證方式

    • 基于令牌(Token-based)認(rèn)證:這是Registry的默認(rèn)認(rèn)證方式。用戶在進(jìn)行Docker push/pull等操作時,需要提供有效的訪問令牌(Token)。Registry會驗(yàn)證令牌的有效性和權(quán)限,并根據(jù)用戶的權(quán)限控制對鏡像的訪問。

    • 基于用戶名和密碼(Username and Password)認(rèn)證:用戶可以使用用戶名和密碼進(jìn)行認(rèn)證,以獲取訪問Registry的權(quán)限。這種方式需要在Registry中配置用戶賬戶和密碼,并在進(jìn)行操作時提供正確的用戶名和密碼。

    • 基于TLS/SSL證書(TLS/SSL Certificate)認(rèn)證:Registry可以配置使用TLS/SSL證書進(jìn)行認(rèn)證和加密通信。客戶端需要提供有效的證書來與Registry建立安全連接,并進(jìn)行認(rèn)證和授權(quán)。

    • 基于OAuth認(rèn)證:Registry可以與OAuth身份驗(yàn)證提供者集成,以實(shí)現(xiàn)更強(qiáng)大的身份驗(yàn)證和授權(quán)機(jī)制。用戶可以使用OAuth提供者頒發(fā)的令牌來訪問Registry,并根據(jù)OAuth提供者的權(quán)限進(jìn)行控制。

  • Core services(核心服務(wù)):

    • UI(harbor-ui):提供圖形化界面,幫助用戶管理Registry上的鏡像,并進(jìn)行授權(quán)管理。

    • WebHook:用于及時獲取Registry上鏡像狀態(tài)的變化,并將其傳遞給UI模塊。

    • Token服務(wù):根據(jù)用戶權(quán)限為每個Docker push/pull命令簽發(fā)Token。如果請求不包含Token,將被重定向到Token服務(wù)獲取Token后再向Registry發(fā)起請求。

  • Database(harbor-db):為Core services提供數(shù)據(jù)庫服務(wù),存儲用戶權(quán)限、審計日志、Docker鏡像分組等數(shù)據(jù)。

  • Job services(作業(yè)服務(wù)):用于鏡像復(fù)制,可以將本地鏡像同步到遠(yuǎn)程Harbor實(shí)例。

  • Log collector(日志收集器):負(fù)責(zé)收集其他組件的日志到一個統(tǒng)一的地方。

  • 此外,還有一個名為harbor-adminserver的組件,作為后端的配置數(shù)據(jù)管理中心,負(fù)責(zé)管理Harbor的配置數(shù)據(jù),而不具備其他功能。

Harbor由容器構(gòu)成

Harbor的每個組件都以Docker容器的形式構(gòu)建,并可以使用Docker Compose進(jìn)行部署。在Harbor的docker-compose.yml文件所在的目錄中執(zhí)行docker-compose ps命令可以查看正在運(yùn)行的容器。

總共有7個容器在運(yùn)行,它們的名稱分別是:

  • nginx:作為前端代理,接收來自瀏覽器和Docker客戶端的請求,并將其轉(zhuǎn)發(fā)給后端的不同服務(wù)。

  • harbor-jobservice:用于處理Harbor中的作業(yè)任務(wù),例如鏡像復(fù)制等。

  • harbor-ui:提供圖形化界面,允許用戶管理Registry上的鏡像,并進(jìn)行授權(quán)管理。

  • harbor-db:為Harbor的核心服務(wù)提供數(shù)據(jù)庫服務(wù),存儲用戶權(quán)限、審計日志、Docker鏡像分組等數(shù)據(jù)。

  • harbor-adminserver:作為后端的配置數(shù)據(jù)管理中心,負(fù)責(zé)管理Harbor的配置數(shù)據(jù),但沒有太多其他功能。

  • registry:Harbor的核心組件,負(fù)責(zé)存儲和管理Docker鏡像。

  • harbor-log:用于收集其他組件的日志,并將其集中存儲在一個地方。

需要注意的是,harbor-adminserver充當(dāng)了數(shù)據(jù)配置管理中心,harbor-ui通過它來操作和管理所有的數(shù)據(jù)。這種架構(gòu)使得數(shù)據(jù)的管理更加集中和統(tǒng)一。

通過使用Docker Compose進(jìn)行部署,可以方便地管理和啟動這些容器,確保Harbor的各個組件正常運(yùn)行。


Harbor部署示例

環(huán)境準(zhǔn)備

Docker registry鏡像倉庫,私有倉庫及harbor管理詳解,云,docker,eureka,容器,運(yùn)維,云原生

  • Harbor服務(wù)器是一個用于管理和存儲Docker鏡像的私有倉庫。它安裝了docker-ce(Docker的社區(qū)版)、docker-compose(用于管理多個Docker容器的工具)和harbor-offline-v1.2.2(Harbor的離線版本1.2.2)。

  • 客戶端服務(wù)器是一個使用Docker的服務(wù)器,它安裝了docker-ce。它可以通過網(wǎng)絡(luò)連接到Harbor服務(wù)器,并使用Harbor提供的功能來管理和獲取Docker鏡像。

  • 這個架構(gòu)允許在Harbor服務(wù)器上集中管理和存儲Docker鏡像,并通過客戶端服務(wù)器來訪問和使用這些鏡像。

部署Docker-Compose服務(wù)

下載或上傳Docker-Compose:

????????使用curl命令下載Docker-Compose二進(jìn)制文件。該命令會從GitHub上的docker/compose倉庫下載特定版本的Docker-Compose。請注意,uname -suname -m是用于獲取操作系統(tǒng)和機(jī)器架構(gòu)的命令。

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

賦予執(zhí)行權(quán)限:

????????使用chmod命令為下載的Docker-Compose二進(jìn)制文件賦予執(zhí)行權(quán)限。

chmod +x /usr/local/bin/docker-compose

驗(yàn)證安裝:

????????使用docker-compose命令驗(yàn)證Docker-Compose的安裝是否成功。

docker-compose --version

以上步驟將下載或上傳Docker-Compose二進(jìn)制文件,并將其安裝到/usr/local/bin/docker-compose路徑下。然后,通過運(yùn)行docker-compose --version命令,可以驗(yàn)證安裝是否成功。

部署 Harbor 服務(wù)

下載或上傳Harbor安裝程序:

????????使用wget命令下載Harbor離線安裝程序。該命令會從指定的URL下載Harbor離線安裝程序的壓縮包。

wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz

解壓安裝程序:

????????使用tar命令解壓下載的Harbor離線安裝程序壓縮包,并將其解壓到/usr/local/目錄下。

tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

修改Harbor安裝的配置文件:

  • 使用vim或其他文本編輯器打開Harbor的配置文件harbor.cfg。根據(jù)需要修改以下兩個配置項(xiàng):
vim /usr/local/harbor/harbor.cfg
  • 第5行:將"hostname"設(shè)置為Harbor服務(wù)器的IP地址或域名。
hostname = 192.168.41.31
  • 第59行:將"harboradminpassword"設(shè)置為管理員的初始密碼。默認(rèn)的用戶名/密碼是admin/Harbor12345。
harbor_admin_password = Harbor12345

保存并關(guān)閉文件。

????????以上步驟將下載或上傳Harbor安裝程序,并將其解壓到/usr/local/目錄下。然后,可以通過修改配置文件來設(shè)置Harbor服務(wù)器的IP地址或域名以及管理員的初始密碼。

啟動Harbor

????????在配置好了harbor.cfg文件之后,可以按照以下步驟啟動Harbor:

切換到Harbor安裝目錄: 使用cd命令切換到Harbor的安裝目錄。

cd /usr/local/harbor/

執(zhí)行prepare命令: 運(yùn)行./prepare命令,為Harbor啟動的容器生成必要的文件和環(huán)境。

./prepare

執(zhí)行install.sh命令: 運(yùn)行./install.sh命令,它將拉取Harbor鏡像并啟動容器。

./install.sh

????????以上步驟將在配置好harbor.cfg文件后,為Harbor生成必要的文件和環(huán)境,并拉取Harbor鏡像并啟動容器。這樣,就可以開始使用Harbor服務(wù)了。

查看 Harbor 啟動鏡像

????????要查看Harbor啟動的鏡像,可以按照以下步驟進(jìn)行:

切換到Harbor安裝目錄: 使用cd命令切換到Harbor的安裝目錄。

cd /usr/local/harbor/

執(zhí)行docker-compose ps命令: 運(yùn)行docker-compose ps命令,它將顯示Harbor啟動的容器及其相關(guān)信息,包括容器的名稱、狀態(tài)和所使用的鏡像。

docker-compose ps

????????以上步驟將在Harbor安裝目錄下執(zhí)行docker-compose ps命令,以查看Harbor啟動的容器及其相關(guān)信息,包括所使用的鏡像。

創(chuàng)建一個新項(xiàng)目

創(chuàng)建一個新項(xiàng)目并上傳鏡像到Harbor

  • 在瀏覽器中訪問Harbor的WEB UI界面: 使用http://192.168.41.31訪問Harbor的WEB UI界面。默認(rèn)的管理員用戶名和密碼是admin/Harbor12345。

  • 登錄并創(chuàng)建新項(xiàng)目: 在登錄界面輸入管理員用戶名和密碼后,點(diǎn)擊登錄按鈕。然后點(diǎn)擊"+項(xiàng)目"按鈕創(chuàng)建一個新項(xiàng)目。

  • 填寫項(xiàng)目信息: 在創(chuàng)建新項(xiàng)目的界面中,填寫項(xiàng)目名稱為"myproject-kgc",然后點(diǎn)擊"確定"按鈕創(chuàng)建新項(xiàng)目。

  • 使用Docker命令登錄并推送鏡像: 使用以下Docker命令在本地登錄Harbor并推送鏡像。默認(rèn)情況下,Registry服務(wù)器在端口80上監(jiān)聽。

  • 登錄Harbor:

docker login [-u admin -p Harbor12345] http://127.0.0.1
  • 下載鏡像進(jìn)行測試:
docker pull nginx
  • 打標(biāo)簽:
docker tag nginx:latest 127.0.0.1/myproject-kgc/nginx:v1
  • 上傳鏡像到Harbor:
docker push 127.0.0.1/myproject-kgc/nginx:v1
  • 在Harbor界面查看鏡像: 在Harbor的WEB UI界面中,導(dǎo)航到"myproject-kgc"目錄下,將看到上傳的鏡像及其相關(guān)信息。

按照以上步驟,將能夠在Harbor中創(chuàng)建一個新項(xiàng)目,并通過Docker命令登錄和推送鏡像到該項(xiàng)目中。然后,您可以在Harbor的WEB界面中查看該項(xiàng)目下的鏡像及其相關(guān)信息。

在其他客戶端上傳鏡像

????????以上操作都是在 Harbor 服務(wù)器本地操作。如果其他客戶端登錄到 Harbor,就會報如下錯誤。出現(xiàn)這問題的原因?yàn)镈ocker Registry 交互默認(rèn)使用的是 HTTPS,但是搭建私有鏡像默認(rèn)使用的是 HTTP 服務(wù),所以與私有鏡像交互時出現(xiàn)以下錯誤。

docker login -u admin -p Harbor12345 http://192.168.41.31
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://192.168.41.31/v2/: dial tcp 192.168.41.31:443: connect: connection refused

????????要在其他客戶端上傳鏡像到Harbor,解決辦法是:在 Docker server 啟動的時候,增加啟動參數(shù),默認(rèn)使用 HTTP 訪問。

在Docker客戶端配置操作: 使用vim或其他文本編輯器打開Docker服務(wù)的配置文件docker.service。

vim /usr/lib/systemd/system/docker.service
  • 在第13行修改ExecStart參數(shù),添加--insecure-registry選項(xiàng)并指定Harbor服務(wù)器的IP地址。
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.41.31 --containerd=/run/containerd/containerd.sock

ExecStart=/usr/bin/dockerd --insecure-registry 192.168.41.31

保存并關(guān)閉文件。

重啟Docker服務(wù): 使用systemctl命令重新加載配置文件并重啟Docker服務(wù)。

systemctl daemon-reload
systemctl restart docker

再次登錄Harbor: 使用docker login命令登錄Harbor??梢允褂糜脩裘兔艽a進(jìn)行登錄,但請注意使用--password-stdin選項(xiàng)更安全。

docker login -u admin -p Harbor12345 http://192.168.41.31

????????登錄成功后,憑據(jù)將被保存在/root/.docker/config.json文件中,以便下次登錄時可以直接使用憑據(jù)登錄Harbor。

下載和上傳鏡像: 使用docker pull命令下載鏡像,并使用docker tag和docker push命令將鏡像打標(biāo)簽并上傳到Harbor。

docker pull 192.168.41.31/myproject-kgc/nginx:v1
docker pull cirros
docker tag cirros:latest 192.168.41.31/myproject-kgc/cirros:v2
docker push 192.168.41.31/myproject-kgc/cirros:v2

刷新Harbor的Web管理界面: 在Harbor的WEB UI界面中,導(dǎo)航到"myproject-kgc"項(xiàng)目下,將看到上傳的鏡像及其相關(guān)信息。

????????按照以上步驟,將能夠在其他客戶端配置Docker以上傳鏡像到Harbor。首先,在Docker客戶端的配置文件中添加--insecure-registry選項(xiàng),并重啟Docker服務(wù)。然后,使用docker login命令登錄Harbor,并使用docker pull、docker tag和docker push命令下載、打標(biāo)簽和上傳鏡像。最后,在Harbor的WEB界面中刷新,將看到上傳的鏡像及其相關(guān)信息。


維護(hù)管理Harbor

通過Harbor Web創(chuàng)建項(xiàng)目

要通過Harbor Web創(chuàng)建項(xiàng)目,可以按照以下步驟進(jìn)行操作:

  • 打開Harbor Web界面并登錄。

  • 導(dǎo)航到倉庫頁面,通常位于導(dǎo)航欄的頂部或側(cè)邊欄中。

  • 在倉庫頁面上,將看到一個項(xiàng)目列表。單擊列表上方的"+項(xiàng)目"按鈕。

  • 在彈出的對話框中,填寫項(xiàng)目的名稱。

  • 如果你希望項(xiàng)目是私有的(只有特定用戶或團(tuán)隊(duì)可以訪問),請確保項(xiàng)目級別設(shè)置為"私有",并取消勾選相關(guān)選項(xiàng)。

  • 如果你希望項(xiàng)目是公共的(任何人都可以訪問),請將項(xiàng)目級別設(shè)置為"公共倉庫",并保持相關(guān)選項(xiàng)處于選中狀態(tài)。

  • 單擊"創(chuàng)建"按鈕以創(chuàng)建項(xiàng)目。

  • 現(xiàn)在,就可以將鏡像推送到該項(xiàng)目中。在推送之前,請確保已經(jīng)在本地配置了正確的Docker客戶端,并且已經(jīng)登錄到Harbor倉庫(如果項(xiàng)目是私有的)。

  • 推送鏡像后,其他用戶將能夠通過Harbor Web界面或命令行下載該項(xiàng)目下的鏡像。

請注意,Harbor的鏡像操作與Docker Hub類似,但具體細(xì)節(jié)可能會有所不同。根據(jù)具體情況和需求,可能需要進(jìn)一步了解Harbor的文檔或參考指南。

創(chuàng)建 Harbor 用戶

創(chuàng)建Harbor用戶并分配權(quán)限

  • 在Harbor的Web管理界面中,單擊"系統(tǒng)管理",然后選擇"用戶管理"。

  • 在用戶管理頁面上,單擊"+用戶"按鈕。

  • 填寫用戶名為"test-zhangsan",郵箱為"test-zhangsan@qq.com",全名為"zhangsan",密碼為"Abc123456",并在注釋中添加"管理員"(可選)。

  • 單擊"創(chuàng)建"按鈕以創(chuàng)建用戶。如果需要將該用戶設(shè)置為管理員角色或進(jìn)行其他操作,可以單擊左側(cè)的"…"按鈕進(jìn)行相應(yīng)設(shè)置。

添加項(xiàng)目成員

  • 導(dǎo)航到項(xiàng)目頁面,找到你的項(xiàng)目(例如"myproject-test")并單擊進(jìn)入。

  • 在項(xiàng)目頁面上,找到"成員"選項(xiàng)卡并單擊。

  • 單擊"+成員"按鈕。

  • 填寫之前創(chuàng)建的用戶"test-zhangsan",并將角色設(shè)置為"開發(fā)人員"。

  • 單擊"創(chuàng)建"按鈕以添加項(xiàng)目成員。如果需要更改成員角色或進(jìn)行其他操作,可以單擊左側(cè)的"…"按鈕進(jìn)行相應(yīng)設(shè)置。

在客戶端上使用普通賬戶操作鏡像

  • 首先,刪除本地已經(jīng)打標(biāo)簽的鏡像
docker rmi 192.168.41.31/myproject-test/cirros:v2
  • 退出當(dāng)前用戶,并使用之前創(chuàng)建的賬戶"test-zhangsan"進(jìn)行登錄:
docker logout 192.168.41.31
docker login 192.168.41.31

或者

docker login -u test-zhangsan -p Abc123456 http://192.168.41.31
  • 下載和上傳鏡像進(jìn)行測試(示例中的命令是下載名為"192.168.41.31/myproject-test/cirros:v2"的鏡像,然后將其重新打標(biāo)簽為"192.168.41.31/myproject-test/cirros:v3"并上傳):
docker pull 192.168.41.31/myproject-test/cirros:v2
docker tag cirros:latest 192.168.41.31/myproject-test/cirros:v3
docker push 192.168.41.31/myproject-test/cirros:v3

查看日志

  • 登錄到Harbor的Web管理界面。

  • 導(dǎo)航到"系統(tǒng)管理"或"管理"選項(xiàng)卡,通常位于導(dǎo)航欄的頂部或側(cè)邊欄中。

  • 在系統(tǒng)管理頁面上,會找到一個名為"日志"、"日志管理"或類似的選項(xiàng)。單擊該選項(xiàng)以進(jìn)入日志管理頁面。

  • 在日志管理頁面上,可以選擇查看不同類型的日志,例如系統(tǒng)日志、訪問日志、操作日志等。選擇"操作日志"選項(xiàng)以查看用戶相關(guān)操作的日志。

  • 根據(jù)你的需求,可以按時間順序?yàn)g覽日志,也可以使用搜索功能來篩選特定的操作日志。

  • 如果需要導(dǎo)出日志,通常會有一個"導(dǎo)出"或"下載"按鈕,可以使用該按鈕將日志保存到本地。

  • 請注意,具體的界面和選項(xiàng)可能因Harbor的版本和配置而有所不同。根據(jù)具體情況,可能需要進(jìn)一步查閱Harbor的文檔或參考指南

修改 Harbor.cfg 配置文件

????????要修改Harbor的配置文件harbor.cfg中的可選參數(shù)

停止現(xiàn)有的Harbor實(shí)例: 在Harbor安裝目錄中運(yùn)行以下命令,停止并刪除現(xiàn)有的Harbor容器和相關(guān)卷。

cd /usr/local/harbor
docker-compose down -v

編輯harbor.cfg文件: 使用vim或其他文本編輯器打開harbor.cfg文件,對其中的可選參數(shù)進(jìn)行修改。

vim harbor.cfg

注意:只能修改harbor.cfg文件中的可選參數(shù),不要修改其他部分。

運(yùn)行prepare腳本: 運(yùn)行./prepare命令,它將根據(jù)新的配置文件填充配置。

./prepare

重新創(chuàng)建并啟動Harbor實(shí)例: 運(yùn)行docker-compose up -d命令,它將重新創(chuàng)建并啟動Harbor容器。

docker-compose up -d

如果遇到防火墻相關(guān)的報錯,請確保firewalld服務(wù)已啟動,并執(zhí)行以下命令重啟防火墻服務(wù):

systemctl restart firewalld.service
docker-compose up -d

以上步驟將停止現(xiàn)有的Harbor實(shí)例,更新配置文件,填充配置,然后重新創(chuàng)建并啟動Harbor的實(shí)例。請確保在修改配置文件之前備份原始的harbor.cfg文件,以防止意外情況發(fā)生。

移除 Harbor 服務(wù)容器同時保留鏡像數(shù)據(jù)/數(shù)據(jù)庫,并進(jìn)行遷移

在Harbor服務(wù)器上操作:

切換到Harbor安裝目錄: 使用cd命令切換到Harbor的安裝目錄。

cd /usr/local/harbor

移除Harbor服務(wù)容器: 運(yùn)行docker-compose down -v命令,它將停止并刪除Harbor服務(wù)容器,并刪除相關(guān)的卷。

docker-compose down -v

打包鏡像數(shù)據(jù): 如果你希望保留鏡像數(shù)據(jù),可以將鏡像數(shù)據(jù)目錄打包為一個壓縮文件。

ls /data/registry/docker/registry/v2/repositories/myproject-test
cd /data/registry/docker/registry/v2/repositories/myproject-test
tar zcvf test-registry.tar.gz ./*

這將在當(dāng)前目錄下創(chuàng)建一個名為test-registry.tar.gz的壓縮文件,其中包含myproject-test項(xiàng)目的鏡像數(shù)據(jù)。

遷移Harbor服務(wù):

如果需要重新部署Harbor并移除所有Harbor服務(wù)容器的數(shù)據(jù),可以按照以下步驟進(jìn)行操作:

  • 切換到Harbor安裝目錄: 使用cd命令切換到Harbor的安裝目錄。
cd /usr/local/harbor
  • 移除Harbor服務(wù)容器和數(shù)據(jù): 運(yùn)行docker-compose down -v命令,它將停止并刪除Harbor服務(wù)容器,并刪除相關(guān)的卷和數(shù)據(jù)。
docker-compose down -v
  • 刪除數(shù)據(jù)庫和鏡像數(shù)據(jù): 運(yùn)行rm -r命令,刪除Harbor的數(shù)據(jù)庫和鏡像數(shù)據(jù)目錄。
rm -r /data/database
rm -r /data/registry

以上步驟將移除Harbor服務(wù)容器的全部數(shù)據(jù),包括數(shù)據(jù)庫和鏡像數(shù)據(jù)。請確保在執(zhí)行這些操作之前備份了重要的數(shù)據(jù),并且在重新部署之前已經(jīng)做好了必要的準(zhǔn)備工作。文章來源地址http://www.zghlxwxcb.cn/news/detail-802412.html

到了這里,關(guān)于Docker registry鏡像倉庫,私有倉庫及harbor管理詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • docker 查看registry私有倉庫的鏡像tag列表

    前提條件:已經(jīng)正確部署docker和私有倉庫registry。并且有私有倉庫的登錄用戶名,密碼。。需要查看某一個鏡像的tag列表。 本文驗(yàn)證地址:【私有ip】為192.168.0.200? 【images】為centos。私有倉庫用戶名:root,密碼:password 提示:如果按照下面方式訪問不成功,請注意檢查,本機(jī)

    2023年04月09日
    瀏覽(91)
  • 深度解析 Docker Registry:構(gòu)建安全高效的私有鏡像倉庫

    深度解析 Docker Registry:構(gòu)建安全高效的私有鏡像倉庫

    ??個人主頁:程序員 小侯 ??CSDN新晉作者 ??歡迎 ??點(diǎn)贊?評論?收藏 ?收錄專欄:大數(shù)據(jù)系列 ?文章內(nèi)容:Docker Registry ??希望作者的文章能對你有所幫助,有不足的地方請?jiān)谠u論區(qū)留言指正,大家一起學(xué)習(xí)交流!?? Docker Registry是Docker生態(tài)系統(tǒng)中關(guān)鍵的組件,負(fù)責(zé)存儲

    2024年02月04日
    瀏覽(92)
  • 群暉Docker套件注冊Harbor私有鏡像倉庫,并下載運(yùn)行自己發(fā)布的Docker鏡像

    群暉Docker套件注冊Harbor私有鏡像倉庫,并下載運(yùn)行自己發(fā)布的Docker鏡像

    @[群暉Docker套件注冊Harbor私有鏡像倉庫,并下載運(yùn)行自己發(fā)布的Docker鏡像] 在進(jìn)行微服務(wù)開發(fā)時,一些基礎(chǔ)服務(wù)組件(Nacos、Redis、Mysql)的運(yùn)行以及越來越多的業(yè)務(wù)服務(wù)組件的開發(fā),會導(dǎo)致開發(fā)者電腦的內(nèi)存資源緊張,此時我們可以把一些基礎(chǔ)服務(wù)組件和基本業(yè)務(wù)組件(認(rèn)證中

    2024年02月05日
    瀏覽(24)
  • 【云原生 | Docker 高級篇】11、Docker 私有鏡像倉庫 Harbor 安裝及使用教程

    【云原生 | Docker 高級篇】11、Docker 私有鏡像倉庫 Harbor 安裝及使用教程

    目錄 一、Harbor 介紹 二、Harbor 的優(yōu)勢 三、Harbor 部署安裝 3.1 部署環(huán)境 3.2?為 Harbor 自簽發(fā)證書 3.3 安裝 Harbor 3.4 設(shè)置開機(jī)自啟 四、Harbor 圖像化界面使用說明 4.1 修改本地 hosts 文件 4.2 訪問 harbor 4.3 創(chuàng)建項(xiàng)目 五、測試使用 harbor 私有鏡像倉庫 5.1 修改 docker 配置 5.2 登錄 harbor

    2024年01月17日
    瀏覽(55)
  • Docker本地私有倉庫、harbor私有倉庫部署與管理

    Docker本地私有倉庫、harbor私有倉庫部署與管理

    docker本地倉庫,存放鏡像,本地的機(jī)器上傳和下載,pull/push。 使用私有倉庫有許多優(yōu)點(diǎn): ①節(jié)省網(wǎng)絡(luò)帶寬,針對于每個鏡像不用每個人都去中央倉庫上面去下載,只需要從私有倉庫中下載即可; ②提供鏡像資源利用,針對于公司內(nèi)部使用的鏡像,推送到本地的私有倉庫中,

    2024年02月11日
    瀏覽(20)
  • Linux docker7--私有鏡像倉庫registry和UI搭建及使用

    Linux docker7--私有鏡像倉庫registry和UI搭建及使用

    一、對于開源的鏡像,如redis,nginx等,可以通過官方倉庫Docker Hub,或者國內(nèi)的阿里云等共有倉庫下載獲取到鏡像。但是企業(yè)內(nèi)對于自己的研發(fā)產(chǎn)品不可能往公共倉庫去發(fā)布鏡像的,一般都會搭建私有的鏡像倉庫,保障內(nèi)部研發(fā)的鏡像對內(nèi)可用,外部是無法獲取的。Redistry是

    2024年03月26日
    瀏覽(15)
  • Docker|kubernetes|本地鏡像批量推送到Harbor私有倉庫的腳本

    Docker|kubernetes|本地鏡像批量推送到Harbor私有倉庫的腳本

    前言: 可能有測試環(huán)境,而測試環(huán)境下有N多的鏡像,需要批量導(dǎo)入到自己搭建的Harbor私有倉庫內(nèi),一般涉及到批量的操作,自然還是使用腳本比較方便。 本文將介紹如何把某個服務(wù)器的本地鏡像?推送到帶有安全證書的私有Harbor倉庫。 一, ###本例中,私有Harbor倉庫的地址是

    2024年02月10日
    瀏覽(22)
  • docker容器:本地私有倉庫、harbor私有倉庫部署與管理

    docker容器:本地私有倉庫、harbor私有倉庫部署與管理

    目錄 一、本地私有倉庫 1、本地私有倉庫簡介 2、搭建本地私有倉庫 3、容器重啟策略介紹 二、harbor私有倉庫部署與管理 1、什么是harbor 2、Harbor的特性 3、Harbor的構(gòu)成 4、harbor部署及配置 ①部署docker-compose ②部署Harbor服務(wù) ③登錄創(chuàng)建項(xiàng)目 ④登錄倉庫并上傳鏡像 5、客戶端測試

    2024年02月04日
    瀏覽(38)
  • Docker--harbor私有倉庫部署與管理

    Docker--harbor私有倉庫部署與管理

    ------------------------------------ Harbor 簡介 ------------------------------------ (1)什么是Harbor Harbor 是 VMware 公司開源的企業(yè)級 Docker Registry 項(xiàng)目,其目標(biāo)是幫助用戶迅速搭建一個企業(yè)級的 Docker Registry 服務(wù)。 Harbor以 Docker 公司開源的 Registry 為基礎(chǔ),提供了圖形管理 UI 、基于角色的訪問

    2024年02月08日
    瀏覽(27)
  • Docker harbor私有倉庫部與管理

    目錄 搭建本地私有倉庫 Docker容器的重啟策略 Harbor 簡介 什么是Harbor Harbor的特性 Harbor的構(gòu)成 Docker harbor私有倉庫部署 Harbor.cfg配置文件中的參數(shù) 維護(hù)管理Harbor? 總結(jié) 運(yùn)行 registry 容器? -itd:在容器中打開一個偽終端進(jìn)行交互操作,并在后臺運(yùn)行 -v:把宿主機(jī)的/data/registry目錄

    2024年02月08日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包