如何構(gòu)建本地Docker鏡像倉(cāng)庫(kù)
概要
構(gòu)建一個(gè)帶有用戶界面(UI)的本地Docker鏡像倉(cāng)庫(kù),你可以使用一些現(xiàn)成的工具,如Harbor、Sonatype Nexus或JFrog Artifactory。這些工具提供了一個(gè)完整的解決方案,包括用戶界面、認(rèn)證、訪問(wèn)控制、鏡像管理等特性。
以下是使用Harbor作為示例來(lái)構(gòu)建帶有UI的本地Docker鏡像倉(cāng)庫(kù)的步驟:
安裝Harbor
下載Harbor
訪問(wèn)Harbor的官方GitHub頁(yè)面(https://github.com/goharbor/harbor),下載適合你操作系統(tǒng)的安裝包。下面使用wget
下載v2.3.3
版本
wget https://github.com/goharbor/harbor/releases/download/<version>/harbor-offline-installer-<version>.tgz
解壓Harbor
解壓下載的Harbor安裝包。
tar -zxvf harbor-offline-installer-<version>.tgz cd harbor
配置Harbor
修改配置文件名字。
mv harbor.yml.tmpl harbor.yml
在harbor
目錄下,vim編輯harbor.yml
配置文件,配置你的倉(cāng)庫(kù)的端口、數(shù)據(jù)庫(kù)、存儲(chǔ)等信息。 https認(rèn)證全部注釋掉。
...... hostname: <宿主機(jī)IP> # http related config http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 80 #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
使用提供的安裝腳本安裝Harbor。
sudo sh install.sh
啟動(dòng)Harbor
安裝完成后,Harbor會(huì)自動(dòng)啟動(dòng)。
手動(dòng)啟停
#切換到harbor目錄 cd harbor #停止harbor容器 docker-compose down -v # 啟動(dòng)harbor容器 docker-compose up -d
登錄Harbor UI
- 你可以通過(guò)訪問(wèn)
http://<your-ip>
來(lái)查看Harbor的Web UI。 - 使用默認(rèn)的管理員賬戶(用戶名:
admin
,密碼:Harbor12345
)登錄Harbor的Web UI。
配置 Docker 信任地址
因?yàn)镠abor采用的是 HTTP 協(xié)議,默認(rèn)不被 Docker 信任,需要進(jìn)行配置。編輯 Docker 守護(hù)進(jìn)程配置文件 /etc/docker/daemon.json
增加"insecure-registries": ["http://<宿主機(jī)IP>:80"]
, 如下所示:
{ "registry-mirrors": [ "https://registry.cn-beijing.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn/" ], "insecure-registries": ["http://<宿主機(jī)IP>:80"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "data-root": "/data/docker", "storage-driver": "overlay2" }
其它參數(shù)解釋參考Docker和Docker-Compose安裝。
重載 Docker 守護(hù)進(jìn)程配置并重啟 Docker
systemctl daemon-reload systemctl restart docker
Docker客戶端登錄Harbor
配置Docker客戶端以使用你的Harbor倉(cāng)庫(kù)作為默認(rèn)倉(cāng)庫(kù)。
docker login <your-ip>:80
根據(jù)提示輸入用戶名:admin
和 密碼: Harbor12345
推送鏡像到Harbor
使用下面的命令將你的Docker鏡像推送到Harbor。
docker tag your-image <your-ip>:80/<項(xiàng)目名>/your-image docker push <your-ip>:80/<項(xiàng)目名>/your-image
示例
docker pull busybox docker tag busybox 192.168.44.161:80/test/busybox:first docker push 192.168.44.161:80/test/busybox:first
Harbor會(huì)根據(jù)<your-ip>:80/<項(xiàng)目名>
來(lái)鎖定推送的倉(cāng)庫(kù)地址。默認(rèn)推送的倉(cāng)庫(kù)地址是docker.io
。
從Harbor拉取鏡像
拉取鏡像
docker pull <your-ip>:80/<<項(xiàng)目名>/your-image>
管理倉(cāng)庫(kù)
通過(guò)Harbor的Web UI,你可以管理倉(cāng)庫(kù)、用戶、項(xiàng)目等。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1)
這篇文章主要介紹了本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Docker部署Spring-boot項(xiàng)目的示例代碼
這篇文章主要介紹了Docker部署Spring-boot的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12jenkins+gitlab+nginx部署前端應(yīng)用實(shí)現(xiàn)
在日常開(kāi)發(fā)中,往往可能同時(shí)多個(gè)項(xiàng)目并行進(jìn)行開(kāi)發(fā),本文介紹了jenkins+gitlab+nginx部署前端應(yīng)用實(shí)現(xiàn),感興趣的可以了解一下2021-05-05docker Get https://registry-1.docker.io/v2/:
本文主要介紹了docker Get https://registry-1.docker.io/v2/: net/http: request canceled 報(bào)錯(cuò),具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03Docker部署Prometheus的實(shí)現(xiàn)示例
Prometheus是一款開(kāi)源的監(jiān)控和告警工具,它可以收集系統(tǒng)的各種指標(biāo)數(shù)據(jù),如CPU使用率、內(nèi)存使用量等,本文主要介紹了Docker部署Prometheus的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-08-08Docker實(shí)現(xiàn)Mariadb分庫(kù)分表及讀寫(xiě)分離功能
這篇文章主要給大家介紹了關(guān)于Docker實(shí)現(xiàn)Mariadb分庫(kù)分表及讀寫(xiě)分離功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Docker內(nèi)網(wǎng)穿透frp部署實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Docker內(nèi)網(wǎng)穿透frp部署實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11修改Docker鏡像倉(cāng)庫(kù)為阿里云鏡像或163鏡像的實(shí)現(xiàn)
docker本身的倉(cāng)庫(kù)非常慢,但是國(guó)內(nèi)有阿里云的鏡像倉(cāng)庫(kù)非???本文主要介紹了修改Docker鏡像倉(cāng)庫(kù)為阿里云鏡像或163鏡像的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11