成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker從入門到實戰系列之Dockerhub&私有化倉庫Harbor搭建及使用

云計算 云原生
Harbor是一款私有化鏡像倉庫,我們可以把鏡像上傳上去,同一內網下的其他用戶均可以下載使用,因為是部署在自己的服務器,因此對于安全性這方面更有保障。docker-hub和Harbor的關系我們可以類比成GitHub和Gitlab。

前言

在前面的文章中,我們介紹了如何定制鏡像、容器編排,但仿佛對鏡像管理并沒有提及,那么鏡像文件我們是否可以像管理代碼一樣實現push、pull的操作呢?答案是有的,docker-hub就是一款公共倉庫,在上面可以搜索到別人創建好的各種各樣的鏡像,以及管理自己的鏡像;Harbor是一款私有化鏡像倉庫,我們可以把鏡像上傳上去,同一內網下的其他用戶均可以下載使用,因為是部署在自己的服務器,因此對于安全性這方面更有保障。docker-hub和Harbor的關系我們可以類比成GitHub和Gitlab。

一、公共鏡像倉庫Docker-hub

1.docker-hub簡介

公共鏡像倉庫一般是 Docker 官方或者其他第三方組織(阿里云,騰訊云,網易云等)提供的,允許所有人注冊和使用的鏡像倉庫。Docker Hub 是全球最大的鏡像市場,目前已經有超過 10w 個容器鏡像。

2.提交鏡像到倉庫

具體步驟注冊賬號>>登錄>>創建倉庫>>>linux命令行docker登錄>>修改鏡像名稱(保持與倉庫名稱一致)>>提交鏡像到倉庫

① 創建鏡像倉庫

類似于github上創建代碼倉庫,分為public(公開的,互聯網可見)和private(受保護的,僅自己可見)兩種。

② Linux命令行登錄Docker賬號

docker login  # 登錄docker-hub

③ 修改鏡像名稱,保持與鏡像倉庫一致

docker tag joinsunsoft/docker.ui:latest chenjigang/auto-test:v1.1

④ 提交鏡像到公共倉庫

docker push chenjigang/auto-test:v1.1

⑤ 查看鏡像倉庫

二、私有化鏡像倉庫Harbor

1.Harbor簡介

Harbor是由VMware公司開源的企業級的Docker Registry管理項目,它包括權限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊、鏡像復制和中文支持等功能。

作為一個企業級私有 Registry 服務器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構建和運行環境傳輸鏡像的效率。Harbor 支持安裝在多個 Registry 節點的鏡像資源復制,鏡像全部保存在私有 Registry 中, 確保數據和知識產權在公司內部網絡中管控。另外,Harbor 也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等。

  • 基于角色的訪問控制 - 用戶與 Docker 鏡像倉庫通過 “項目” 進行組織管理,一個用戶可以對多個鏡像倉庫在同一命名空間(project)里有不同的權限。
  • 鏡像復制 - 鏡像可以在多個 Registry 實例中復制(同步)。尤其適合于負載均衡,高可用,混合云和多云的場景。
  • 圖形化用戶界面 - 用戶可以通過瀏覽器來瀏覽,檢索當前 Docker 鏡像倉庫,管理項目和命名空間。
  • AD/LDAP 支持 - Harbor 可以集成企業內部已有的 AD/LDAP,用于鑒權認證管理。
  • 審計管理 - 所有針對鏡像倉庫的操作都可以被記錄追溯,用于審計管理。
  • 國際化 - 已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語言將會添加進來。
  • RESTful API - RESTful API 提供給管理員對于 Harbor 更多的操控,使得與其它管理軟件集成變得更容易。
  • 部署簡單 - 提供在線和離線兩種安裝工具, 也可以安裝到 vSphere 平臺 (OVA 方式) 虛擬設備。

gitee地址:??https://gitee.com/project_harbor/harbor?utm_source=alading&utm_campaign=repo??

2.Harbor搭建

安裝說明: Harbor的所有服務組件都是在Docker中部署的,所以官方安裝使用Docker-compose快速部署,所以需要安裝 Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不小于1.10.0, Docker-compose版本不小于1.6.0。

① 下載并解壓安裝包

在線下載:

wget https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-online-installer-v2.2.2.tgz
tar -xvf harbor-online-installer-v2.2.2.tgz

② 編輯配置文件

cp harbor.yml.tmpl harbor.yml  # 復制一份harbor.yml文件
vi harbor.yml

按照如下內容編輯:

  • hostname改為本機ip
  • 端口默認80,可以改為其他指定端口
  • 注釋掉https的相關配置

③ 準備安裝環境

./prepare  # 執行prepare腳本

執行完成后,本地會多一個docker-compose.yml文件和common目錄

④ 安裝harbor

./install.sh  # 安裝harbor

安裝過程中會自動下載harbor鏡像并啟動相關容器。

⑤ 訪問harbor

安裝成功后,即可訪問harbor:http://192.168.1.122:8087,其中:ip為本機ip,端口為配置文件harbor.yml中配置的端口。默認賬號和密碼為:admin Harbor12345

harbor.yml文件中可查看或修改密碼

⑥ 安裝過程中常見問題及解決

  • 報錯redis容器重復

原因:本地已存在redis容器,harbor無法啟動redis容器

解決辦法:修改harbor目錄下docker-compose.yml中的redis容器名稱,重新啟動

docker-compose up -d

查看harbor各個容器狀態:

  • 報錯registry容器重復

若本地之前已存在registry容器時,harbor安裝過程會報錯,解決方案:刪除原registry容器,重新執行./install.sh進行安裝;若此方式仍報錯,則執行docker-compose up -d啟動各個服務;

3.推送本地鏡像到Harbor

① 創建項目

② Docker登錄

由于之前登錄過docker-hub,所以再次使用“docker login”命令登錄時,默認登錄的還是docker-hub的地址。因此,如果想要登錄harbor,需要在登錄時指定登錄地址。

docker login http://192.168.1.122:8087

首次登錄,根據提示輸入harbor用戶名及密碼即可,與前端登錄使用的賬號密碼一致。

由于我前面登錄過一次這個地址,本地會保存認證記錄,因此再次登錄時無需輸入用戶名密碼即可登錄成功。

如遇以下報錯:

則要在/etc/docker/daemon.json文件中將本機ip(端口非80時需要帶上端口號)加入到insecure-registries列表中,并重載配置。

{
"registry-mirrors":[
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"http://cr.console.aliyun.com/",
"https://8wb4g36l.mirror.aliyuncs.com"
],
"insecure-registries":["192.168.1.122:8087"],
"graph": "/home/docker_home"
}

systemctl daemon-reload
systectl restart docker

再次登錄后登錄成功:

③ 本地鏡像打tag

鏡像名稱需要命名為:ip:端口號/項目名稱/鏡像名:tag名,才能上傳到該指定項目下,例如rabbitmq鏡像,則名稱為:
192.168.1.122:8087/harbor/rabbitmq:5.7.33

為了方便測試,我直接復制本地的一個鏡像,并重新命名:

docker tag rabbitmq:3.7-management 192.168.1.122:8087/harbor/rabbitmq:3.7-management

④ 推送本地鏡像到Harbor

docker push 192.168.1.122:8087/harbor/rabbitmq:3.7-management

查看名為harbor的項目下,存在rabbitmq:3.7-management,測試成功。

⑤ 從Harbor拉取鏡像

  • 拉取鏡像
docker pull 192.168.1.122:8087/library/mysql:5.7.33

從下圖可以看出,MySQL鏡像已經拉取成功

同時,Harbor管理端也能看到最新的拉取時間:

  • 基于拉取的鏡像創建容器
docker run -it -d -e MYSQL_ROOT_PASSWORD=123456 --name=mysql -p 3307:3306 192.168.1.122:8087/library/mysql:5.7.33

進入MySQL容器,登錄MySQL

至此,即完成了"登錄harbor后臺>>創建倉庫>>>docker命令行登錄harbor>>修改鏡像名稱(保持與倉庫名稱一致)>>提交鏡像到倉庫>>拉取鏡像>>基于拉取的鏡像創建容器>>查看容器"這一系列完整的操作。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2017-03-24 09:24:21

HarborDocker鏡像倉庫

2024-01-22 09:12:51

2025-04-27 01:33:23

MongoDBDocker容器

2024-05-15 11:09:30

2025-04-22 07:52:59

2025-02-26 12:21:08

2022-07-11 07:37:55

HarborContainerd

2013-04-22 17:14:12

2013-03-26 09:40:58

戴爾私有化收購

2023-01-04 07:44:09

2025-05-14 08:15:00

MongoDB操作命令Docker

2025-04-29 08:04:10

DeepSeek私有化部署數字化轉型

2022-05-20 11:23:01

火山引擎A/B 測試ToB 市場

2021-11-29 14:18:05

Nuxt3靜態Nuxt2

2011-06-27 09:24:19

虛擬化私有云

2021-09-08 17:20:18

DockerDockerfile程序

2012-02-29 00:49:06

Linux學習

2023-02-13 23:52:18

2010-06-08 10:53:54

戴爾
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰超碰| 精品久久久久久 | 日本三级电影在线观看视频 | 麻豆久久久久 | 一级黄色录像片子 | 人人擦人人 | 亚洲一二三在线 | 99久久精品国产一区二区三区 | 久久精品网 | 欧美a视频 | 久久久国产精品入口麻豆 | 精品视频在线观看 | 天天影视网天天综合色在线播放 | 国产精品91久久久久久 | 色婷婷亚洲一区二区三区 | 成人在线视| 日韩久久久久 | 国产成人综合一区二区三区 | 超碰婷婷| 亚洲欧洲精品一区 | 国产精品久久久久久久久久久久久 | 精品乱码一区二区 | 久久亚洲欧美日韩精品专区 | 久综合| 91免费视频观看 | 欧美在线小视频 | 亚洲成av人片在线观看无码 | 国产欧美一区二区在线观看 | 一区二区三区免费看 | 欧美精品一区免费 | 精品在线一区二区三区 | 精品亚洲一区二区 | 亚洲性视频| 成人影院av | 日韩国产欧美在线观看 | 99久久久国产精品免费消防器 | 欧美久久久久久 | 在线观看免费av网 | 久久久久久99 | 日本天天操 | 激情六月丁香 |