如何構(gòu)建本地Docker鏡像倉庫
概要
構(gòu)建一個(gè)帶有用戶界面(UI)的本地Docker鏡像倉庫,你可以使用一些現(xiàn)成的工具,如Harbor、Sonatype Nexus或JFrog Artifactory。這些工具提供了一個(gè)完整的解決方案,包括用戶界面、認(rèn)證、訪問控制、鏡像管理等特性。
以下是使用Harbor作為示例來構(gòu)建帶有UI的本地Docker鏡像倉庫的步驟:
安裝Harbor
下載Harbor
訪問Harbor的官方GitHub頁面(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配置文件,配置你的倉庫的端口、數(shù)據(jù)庫、存儲等信息。 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會自動(dòng)啟動(dòng)。
手動(dòng)啟停
#切換到harbor目錄 cd harbor #停止harbor容器 docker-compose down -v # 啟動(dòng)harbor容器 docker-compose up -d
登錄Harbor UI
- 你可以通過訪問
http://<your-ip>來查看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倉庫作為默認(rèn)倉庫。
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會根據(jù)<your-ip>:80/<項(xiàng)目名>來鎖定推送的倉庫地址。默認(rèn)推送的倉庫地址是docker.io。
從Harbor拉取鏡像
拉取鏡像
docker pull <your-ip>:80/<<項(xiàng)目名>/your-image>
管理倉庫
通過Harbor的Web UI,你可以管理倉庫、用戶、項(xiàng)目等。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA通過Docker插件部署SpringBoot項(xiàng)目的過程詳解
在idea中如何通過Docker插件部署SpringBoot項(xiàng)目呢?很多朋友在配置過程中走了很多誤區(qū),今天小編給大家分享一篇教程關(guān)于IDEA通過Docker插件部署SpringBoot項(xiàng)目的過程,感興趣的朋友一起看看吧2021-11-11
docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運(yùn)行導(dǎo)出容器方式
這篇文章主要介紹了docker拷貝文件到主機(jī)及導(dǎo)入導(dǎo)出容器及運(yùn)行導(dǎo)出容器方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
一些常見的精簡Docker?file規(guī)則總結(jié)
這篇文章主要介紹了一些常見的精簡Docker?file規(guī)則的相關(guān)資料,這些精簡規(guī)則有助于優(yōu)化Dockerfile,生成更高效、簡潔的鏡像,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11
Docker提示permission?denied錯(cuò)誤的解決方案
這篇文章主要給大家介紹了關(guān)于Docker提示permission?denied錯(cuò)誤的解決方案,出現(xiàn)這個(gè)問題是因?yàn)樗拗鳈C(jī)的當(dāng)前運(yùn)行用戶和docker容器里面的運(yùn)行用戶不一致導(dǎo)致訪問權(quán)限問題,需要的朋友可以參考下2023-08-08

