自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker從入門(mén)到實(shí)戰(zhàn)系列之Dockerhub&私有化倉(cāng)庫(kù)Harbor搭建及使用

云計(jì)算 云原生
Harbor是一款私有化鏡像倉(cāng)庫(kù),我們可以把鏡像上傳上去,同一內(nèi)網(wǎng)下的其他用戶均可以下載使用,因?yàn)槭遣渴鹪谧约旱姆?wù)器,因此對(duì)于安全性這方面更有保障。docker-hub和Harbor的關(guān)系我們可以類(lèi)比成GitHub和Gitlab。

前言

在前面的文章中,我們介紹了如何定制鏡像、容器編排,但仿佛對(duì)鏡像管理并沒(méi)有提及,那么鏡像文件我們是否可以像管理代碼一樣實(shí)現(xiàn)push、pull的操作呢?答案是有的,docker-hub就是一款公共倉(cāng)庫(kù),在上面可以搜索到別人創(chuàng)建好的各種各樣的鏡像,以及管理自己的鏡像;Harbor是一款私有化鏡像倉(cāng)庫(kù),我們可以把鏡像上傳上去,同一內(nèi)網(wǎng)下的其他用戶均可以下載使用,因?yàn)槭遣渴鹪谧约旱姆?wù)器,因此對(duì)于安全性這方面更有保障。docker-hub和Harbor的關(guān)系我們可以類(lèi)比成GitHub和Gitlab。

一、公共鏡像倉(cāng)庫(kù)Docker-hub

1.docker-hub簡(jiǎn)介

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

2.提交鏡像到倉(cāng)庫(kù)

具體步驟注冊(cè)賬號(hào)>>登錄>>創(chuàng)建倉(cāng)庫(kù)>>>linux命令行docker登錄>>修改鏡像名稱(chēng)(保持與倉(cāng)庫(kù)名稱(chēng)一致)>>提交鏡像到倉(cāng)庫(kù)

① 創(chuàng)建鏡像倉(cāng)庫(kù)

類(lèi)似于github上創(chuàng)建代碼倉(cāng)庫(kù),分為public(公開(kāi)的,互聯(lián)網(wǎng)可見(jiàn))和private(受保護(hù)的,僅自己可見(jiàn))兩種。

② Linux命令行登錄Docker賬號(hào)

docker login  # 登錄docker-hub

③ 修改鏡像名稱(chēng),保持與鏡像倉(cāng)庫(kù)一致

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

④ 提交鏡像到公共倉(cāng)庫(kù)

docker push chenjigang/auto-test:v1.1

⑤ 查看鏡像倉(cāng)庫(kù)

二、私有化鏡像倉(cāng)庫(kù)Harbor

1.Harbor簡(jiǎn)介

Harbor是由VMware公司開(kāi)源的企業(yè)級(jí)的Docker Registry管理項(xiàng)目,它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制和中文支持等功能。

作為一個(gè)企業(yè)級(jí)私有 Registry 服務(wù)器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構(gòu)建和運(yùn)行環(huán)境傳輸鏡像的效率。Harbor 支持安裝在多個(gè) Registry 節(jié)點(diǎn)的鏡像資源復(fù)制,鏡像全部保存在私有 Registry 中, 確保數(shù)據(jù)和知識(shí)產(chǎn)權(quán)在公司內(nèi)部網(wǎng)絡(luò)中管控。另外,Harbor 也提供了高級(jí)的安全特性,諸如用戶管理,訪問(wèn)控制和活動(dòng)審計(jì)等。

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

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

2.Harbor搭建

安裝說(shuō)明: Harbor的所有服務(wù)組件都是在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  # 復(fù)制一份harbor.yml文件
vi harbor.yml

按照如下內(nèi)容編輯:

  • hostname改為本機(jī)ip
  • 端口默認(rèn)80,可以改為其他指定端口
  • 注釋掉https的相關(guān)配置

③ 準(zhǔn)備安裝環(huán)境

./prepare  # 執(zhí)行prepare腳本

執(zhí)行完成后,本地會(huì)多一個(gè)docker-compose.yml文件和common目錄

④ 安裝harbor

./install.sh  # 安裝harbor

安裝過(guò)程中會(huì)自動(dòng)下載harbor鏡像并啟動(dòng)相關(guān)容器。

⑤ 訪問(wèn)harbor

安裝成功后,即可訪問(wèn)harbor:http://192.168.1.122:8087,其中:ip為本機(jī)ip,端口為配置文件harbor.yml中配置的端口。默認(rèn)賬號(hào)和密碼為:admin Harbor12345

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

⑥ 安裝過(guò)程中常見(jiàn)問(wèn)題及解決

  • 報(bào)錯(cuò)redis容器重復(fù)

原因:本地已存在redis容器,harbor無(wú)法啟動(dòng)redis容器

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

docker-compose up -d

查看harbor各個(gè)容器狀態(tài):

  • 報(bào)錯(cuò)registry容器重復(fù)

若本地之前已存在registry容器時(shí),harbor安裝過(guò)程會(huì)報(bào)錯(cuò),解決方案:刪除原registry容器,重新執(zhí)行./install.sh進(jìn)行安裝;若此方式仍報(bào)錯(cuò),則執(zhí)行docker-compose up -d啟動(dòng)各個(gè)服務(wù);

3.推送本地鏡像到Harbor

① 創(chuàng)建項(xiàng)目

② Docker登錄

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

docker login http://192.168.1.122:8087

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

由于我前面登錄過(guò)一次這個(gè)地址,本地會(huì)保存認(rèn)證記錄,因此再次登錄時(shí)無(wú)需輸入用戶名密碼即可登錄成功。

如遇以下報(bào)錯(cuò):

則要在/etc/docker/daemon.json文件中將本機(jī)ip(端口非80時(shí)需要帶上端口號(hào))加入到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

鏡像名稱(chēng)需要命名為:ip:端口號(hào)/項(xiàng)目名稱(chēng)/鏡像名:tag名,才能上傳到該指定項(xiàng)目下,例如rabbitmq鏡像,則名稱(chēng)為:
192.168.1.122:8087/harbor/rabbitmq:5.7.33

為了方便測(cè)試,我直接復(fù)制本地的一個(gè)鏡像,并重新命名:

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的項(xiàng)目下,存在rabbitmq:3.7-management,測(cè)試成功。

⑤ 從Harbor拉取鏡像

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

從下圖可以看出,MySQL鏡像已經(jīng)拉取成功

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

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

進(jìn)入MySQL容器,登錄MySQL

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

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2017-03-24 09:24:21

HarborDocker鏡像倉(cāng)庫(kù)

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

2022-07-11 07:37:55

HarborContainerd

2025-02-26 12:21:08

2023-01-04 07:44:09

2013-03-26 09:40:58

戴爾私有化收購(gòu)

2013-04-22 17:14:12

2021-09-08 17:20:18

DockerDockerfile程序

2021-11-29 14:18:05

Nuxt3靜態(tài)Nuxt2

2011-06-27 09:24:19

虛擬化私有云

2022-05-20 11:23:01

火山引擎A/B 測(cè)試ToB 市場(chǎng)

2023-02-13 23:52:18

2012-02-29 00:49:06

Linux學(xué)習(xí)

2012-06-23 12:37:56

私有化郭廣昌陳天橋

2015-10-10 11:08:38

360周鴻祎私有化

2024-07-30 08:19:14

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)