Harbor搭建Docker私有倉庫的實(shí)現(xiàn)方法
1 開源的倉庫管理工具Harbor
Harbor是一個(gè)由CNCF托管的開源的Docker鏡像倉庫管理工具,我們可以通過它快速的建立起自己的私有倉庫。當(dāng)然,搭建私有倉庫的選擇很多,如Docker官方提供的registry鏡像或者Nexus等。但Harbor不失為一種不錯(cuò)的選擇。
2 安裝
Harbor的安裝方式也很多,如通過命令行安裝、Helm安裝等,本文演示通過命令行的腳本安裝。
2.1 安裝Docker和Docker-compose
首先Docker是要安裝的,Harbor是通過一堆容器來啟動(dòng)的。另外還需要安裝docker-compose,并對(duì)版本有一定要求,這里通過在Rancher的資源庫找到軟件包,配置一下即可:
安裝Docker-compose:
wget http://rancher-mirror.cnrancher.com/docker-compose/v1.27.4/docker-compose-Linux-x86_64 mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose chmod a+x /usr/local/bin/docker-compose
2.2 安裝Harbor
2.2.1 下載解壓
先到GitHub Release下載對(duì)應(yīng)的包,有offline和online兩種,offline比較大,包含的對(duì)應(yīng)的依賴;online沒有包含對(duì)應(yīng)的依賴組件,安裝的時(shí)候還需要進(jìn)行下載。這里使用online的包,因?yàn)閺?code>Github下載東西也不見得有多快。
下載:
wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz
解壓:
tar zxvf harbor-online-installer-v2.1.1.tgz
2.2.2 配置并安裝
準(zhǔn)備配置文件:
cp harbor.yml.tmpl harbor.yml
修改配置:vi harbor.yml,主要把https去掉,并配置服務(wù)器地址和密碼。關(guān)鍵配置有:
hostname: 8.134.18.166 http: port: 8088 # https related config #https: # https port for harbor, default is 443 # port: 443 # The path of cert and key files for nginx #certificate: /your/certificate/path #private_key: /your/private/key/path harbor_admin_password: Harbor12345
改完配置后就開始執(zhí)行安裝:
./install.sh
安裝成功會(huì)有提示。
3 簡(jiǎn)單使用
3.1 用admin創(chuàng)建用戶
訪問:http://8.134.18.166:8088/,即可登陸使用,用戶名為admin,密碼默認(rèn)為Harbor12345。

管理用戶admin權(quán)限太高,要?jiǎng)?chuàng)建一個(gè)普通用戶:

創(chuàng)建用戶的信息:

3.2 新用戶創(chuàng)建項(xiàng)目
退出admin,用新創(chuàng)建的用戶登陸,然后創(chuàng)建一個(gè)項(xiàng)目,用于存放鏡像:

項(xiàng)目創(chuàng)建成功:

3.3 Docker連接倉庫
3.3.1 修改docker配置并重啟
在一臺(tái)有docker的機(jī)器上配置daemon.json,增加"insecure-registries": ["http://8.134.18.166:8088"],
vi /etc/docker/daemon.json
配置后內(nèi)容如下:
{
"insecure-registries": ["http://8.134.18.166:8088"],
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
重啟Docker:
systemctl restart docker
3.3.2 登陸與推送鏡像
登陸新建的倉庫:
$ docker login http://8.134.18.166:8088 --username pkslow --password Pk123456 WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
給其中一個(gè)鏡像打個(gè)tag:
docker tag nginx 8.134.18.166:8088/pkslow/nginx:latest
上傳鏡像到倉庫:
$ docker push 8.134.18.166:8088/pkslow/nginx:latest The push refers to repository [8.134.18.166:8088/pkslow/nginx] cdd1d8ebeb06: Pushed fe08d9d9f185: Pushed 280ddd108a0a: Pushed f14cffae5c1a: Pushed d0fe97fa8b8c: Pushed latest: digest: sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43 size: 1362
到網(wǎng)頁檢查一下,已經(jīng)有對(duì)應(yīng)的鏡像了:

拉取就不演示了。
到此這篇關(guān)于Harbor搭建Docker私有倉庫的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Harbor搭建Docker私有倉庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql 在 Docker 中的時(shí)區(qū)問題記錄
Mysql 時(shí)區(qū)一般是跟著系統(tǒng)走的,而在 Docker 中安裝 Mysql 默認(rèn)時(shí)區(qū)是 UTC,下面介紹,創(chuàng)建Docker容器前、后,分別如何設(shè)置 Mysql 時(shí)區(qū),感興趣的朋友跟隨小編一起看看吧2024-07-07
使用Docker配置redis sentinel哨兵的方法步驟
本文主要介紹了Docker配置redis sentinel哨兵的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
低版本Docker升級(jí)高版本Docker的詳細(xì)教程及成功避坑
如果我們使用docker來管理容器,那么保持docker引擎的更新將會(huì)是十分重要的,下面這篇文章主要給大家介紹了關(guān)于低版本Docker升級(jí)高版本Docker的詳細(xì)教程及成功避坑,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Docker中Compose與Kubernetes的區(qū)別詳解
這篇文章主要給大家介紹了關(guān)于Docker中Compose與Kubernetes區(qū)別的相關(guān)資料,Docker Compose和Kubernetes(簡(jiǎn)稱k8s)都是容器編排工具,需要的朋友可以參考下2023-08-08
win7環(huán)境下Docker快速構(gòu)建及阿里云容器加速配置詳解
這篇文章主要介紹了win7環(huán)境下Docker快速構(gòu)建及阿里云容器加速配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Docker中Redis數(shù)據(jù)遷移到本地的實(shí)現(xiàn)
Redis數(shù)據(jù)庫之間的遷移是指將數(shù)據(jù)從一個(gè)Redis實(shí)例復(fù)制到另一個(gè)Redis實(shí)例的過程,本文主要介紹了Docker中Redis數(shù)據(jù)遷移到本地的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04

