Docker學習筆記(十)搭建Docker私有倉庫

一、環境配置

1、宿主機系統:macOS Sequoia(版本15.2)

2、虛擬機VMware Fusion版本:專業版 13.6.2 (24409261)

3、虛擬機系統:AlmaLinux-9-latest-x86_64-boot.iso

二、安裝Harbor開源企業級Docker鏡像

Harbor?是一個開源的企業級?Docker 鏡像?倉庫,提供了許多功能,包擴用戶管理、訪問控制、鏡像復制和安全掃描;Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器。

Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器,通過添加一些企業必需的功能特性,例如安全、標識和管理等,擴展了開源Docker Distribution。

1、安裝Harbor

1.1環境準備

1.1.1查看虛擬機IP命令:
ifconfig

1.1.2查看防火墻狀態

防火墻操作比較好的文章:https://zhuanlan.zhihu.com/p/612481340

查看防火墻狀態:
systemctl status firewalld
關閉防火墻:
systemctl stop firewalld
開啟防火墻:
systemctl start firewalld
重新加載防火墻規則:
firewall-cmd --reload
1.1.3關閉內核安全機制,(這個在網上查看資料的時候有大神關閉了,但是我沒關閉也成功了,暫且記錄一下)
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

1.2部署Docker和Docker Compose

1.2.1部署Docker
1.2.1.1卸載系統之前的Docker鏡像,因我是新裝的虛擬機什么都沒安裝,我直接執行,方法記錄一下
# 安裝前先更新yum,不然有可能出現本機無法連接虛擬機的mysql、redis等
sudo yum update
# 卸載系統之前的docker,以及 docker-cli
sudo yum remove docker-ce docker-ce-cli containerd.io
# 卸載系統之前的docker 
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

?

1.2.1.2安裝必須的依賴
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

1.2.1.3設置 docker repo 的 yum 位置
# 配置鏡像
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.2.1.4安裝 docker,以及 docker-cli
sudo yum install -y docker-ce docker-ce-cli containerd.io

1.2.1.5配置 docker 加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.2.1.6啟動 docker & 設置 docker 開機自啟
systemctl enable docker

1.2.1.7查看docker版本
docker -v

1.2.2部署Docker-Compose服務

Harbor是需要Docker-Compose服務做支撐的

1.2.2.1下載最新Docker-Compose
# 下載阿里云docker-compose二進制文件
# curl -L https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
# 下載github最新docker-compose版本
sudo curl -L "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可執行權限
chmod +x /usr/local/bin/docker-compose

這里要注意:

第一次安裝我也是安裝的阿里的最新鏡像,1.21.2,安裝完畢,啟動一直報錯

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

這個問題就是因為版本問題導致的,把阿里的鏡像換成github的再次下載docker-compose問題解決,卡了我一天

解決方案一:?

按照這種解決錯誤會變為,沒有根本解決

1.2.2.2查看Docker-Compose版本
docker-compose -v

?1.3部署Harbor服務

官網地址:Releases · goharbor/harbor · GitHub

1.3.1下載并解壓Harbor安裝包,這里要文明上網!!!!,另外下載解壓的時候要注意存放的文件位置
sudo wget https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz

sudo tar xvf harbor-offline-installer-v2.12.2.tgz

1.3.2配置Harbor參數文件

解壓后,在目錄下會生成一個harbor.yml.tmpl文件(復制harbor.yml.tmpl并重命名為harbor.yml)。修改harbor.yml

# 拷貝一份Harbor的配置文件
[root@localhost ~]# cp /usr/local/harbor/harbor.yml.tmpl /usr/local/harbor/harbor.yml
[root@localhost ~]# vim /usr/local/harbor/harbor.yml
# 修改hostname,修改為自己的IP地址
hostname: 192.168.119.133
# 將https段的內容全部注釋,這里不使用https訪問
#################################################################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################################################################# 對配置文件進行語法檢查,將會自動拉取必要的鏡像
[root@localhost ~]# /usr/local/harbor/prepare
1.3.3啟動Harbor

在解壓的目錄下運行./install.sh腳本開始安裝。安裝過程中會檢查環境、配置文件等,并下載所需的Docker鏡像。

# 需要一點時間,等待安裝回顯結束即可
[root@localhost ~]# sh /usr/local/harbor/install.sh
?1.3.4查看Harbor啟動鏡像
docker-compose ps

1.3.5訪問私有倉庫

訪問地址:虛擬機的地址,不用端口

用戶名:zaiharbor.yml文件里有,默認:admin

密碼:文件里有,默認:Harbor12345

?三、使用docker上傳鏡像到Harbor

3.1服務器本機上操作

3.1.1本機登錄

# 使用 docker 進行登錄和推送,在推送鏡像之前要做一次登錄
docker login -u admin -p Harbor12345 http://127.0.0.1

3.1.2本機拉取鏡像

這里先描述一個問題,就是使用docker search mysql一直不通過各種配置,各種搜索問題依舊沒有解決,暫時記錄一下處理過程,哪位大神有思路一起交流

解決步驟:

1、修改ifcfg-enp0s3,我用的almalinux這個文件夾下沒有這個文件,我手動配置,但是問題沒解決

 cd /etc/sysconfig/network-scripts/vim ifcfg-enp0s3 加入DNS1=8.8.8.8

修改resolv.conf?

vim /etc/resolv.conf加入
nameserver 8.8.8.8

重啟網絡:問題沒解決呀

# 使用這個命令會報錯
systemctl restart network# 使用
systemctl restart NetworkManagersystemctl status NetworkManager

2、修改DNS

# 文件地址
sudo vim /etc/resolv.conf# 文件內容
; generated by /usr/sbin/dhclient-script
nameserver 114.114.114.114.
nameserver 8.8.8.8
options edns0 trust-ad
search localdomain

修改docker的daemon.json文件

# 文件位置
sudo vim /etc/docker/daemon.json# 文件內容
{"max-concurrent-downloads": 10,"max-concurrent-uploads": 5,"default-shm-size": "1G","debug": true,"experimental": false,"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}# 修改完畢要重啟
sudo systemctl daemon-reload
sudo systemctl restart docker

問題依舊,但是可以拉取鏡像,哪位大神有經歷可以幫忙看一下。先走下邊的流程

3.1.3拉取鏡像

[root@localhost ~]# docker pull mysql:5.6

3.1.4將鏡像打標簽

# push上傳鏡像必須要以,以下格式進行打標簽
# 格式:私有倉庫IP地址/項目名稱/鏡像標簽
[root@localhost ~]# docker tag mysql:5.6 127.0.0.1/wj_demo/mysql:v1

3.1.5上傳鏡像到Harbor

docker push 127.0.0.1/wj_demo/mysql:v1

?3.2宿主機/其他客戶端上傳鏡像到docker倉庫服務器

在宿主機上配置鏡像倉庫地址

#在宿主機上查看docker安裝位置
docker info

#在信息列表中找到.docker文件夾路徑,進入.docker文件夾修改daemon.json文件?

添加insecure-registries信息,IP為虛擬機地址,80為harbor.yml文件中配置的端口

準備上傳

1、登陸

docker login -u 用戶名 -p 密碼 IP:端口

2、打包

3、推送

4、宿主機拉取鏡像

docker pull 172.16.156.128:80/wj_demo/mysql5.7:v1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74004.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74004.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74004.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于微信小程序端base64解碼問題

由于atob是瀏覽器端的&#xff0c;對于微信小程序不支持&#xff0c;導致模擬器【開發工具】顯示正常&#xff0c;但真機異常解析失敗問題&#xff0c;微信小程序原有的api&#xff0c;官方文檔中也廢棄了 解決方案&#xff1a; 調用&#xff1a; const decodedString ba…

鴻蒙NEXT項目實戰-百得知識庫03

代碼倉地址&#xff0c;大家記得點個star IbestKnowTeach: 百得知識庫基于鴻蒙NEXT穩定版實現的一款企業級開發項目案例。 本案例涉及到多個鴻蒙相關技術知識點&#xff1a; 1、布局 2、配置文件 3、組件的封裝和使用 4、路由的使用 5、請求響應攔截器的封裝 6、位置服務 7、三…

Adobe PR和AE2025到啟動頁面一會自動退出

Adobe PR和AE2025到啟動頁面一會自動退出 1查找程序啟動錯誤日志2解決方法3思考共勉 1查找程序啟動錯誤日志 查找程序啟動錯誤日志&#xff1a;事件查看器>Windows日志>應用程序 錯誤應用程序名稱: Adobe Premiere Pro.exe&#xff0c;版本: 25.1.0.73&#xff0c;時間…

Python Pyecharts面試題及參考答案

目錄 使用隨機數據繪制對比某品牌各季度銷量與庫存的柱狀圖,添加副標題和自定義顏色 繪制雙 Y 軸柱狀圖,展示城市人均收入和支出數據,并設置軸標簽旋轉 45 度 實現水平柱狀圖,展示不同編程語言的受歡迎指數,添加數據標簽 繪制動態溫度變化折線圖,包含平滑曲線和標記點…

【css酷炫效果】純CSS實現進度條加載動畫

【css酷炫效果】純CSS實現進度條加載動畫 緣創作背景html結構css樣式完整代碼基礎版進階版 效果圖 通過CSS漸變與背景位移動畫&#xff0c;無需JavaScript即可創建流體動態進度條。 想直接拿走的老板&#xff0c;鏈接放在這里&#xff1a;https://download.csdn.net/download/u…

安全地自動重新啟動 Windows 資源管理器Bat腳本

安全地自動重新啟動 Windows 資源管理器腳本 可以直接運行的 Windows 批處理腳本&#xff0c;用于安全地自動重新啟動 Windows 資源管理器。該腳本會在殺死資源管理器之前檢查是否有其他進程正在使用資源管理器相關的文件。 Bat腳本 echo off title 資源管理器安全重啟工具 co…

【NeurIPS-2022】CodeFormer: 將人臉復原轉化為碼本預測以減少LQ-HQ映射的不確定性

寫在前面&#xff1a;本博客僅作記錄學習之用&#xff0c;部分圖片來自網絡&#xff0c;如需引用請注明出處&#xff0c;同時如有侵犯您的權益&#xff0c;請聯系刪除&#xff01; 文章目錄 前言論文動機方法實驗 總結互動致謝參考往期回顧 前言 盲人臉恢復是一個高度不適定的…

k8s1.30 部署calio網絡

一、介紹 網路組件有很多種&#xff0c;只需要部署其中一個&#xff0c;推薦calio。 calio是一個純三成的數據中心網絡方案&#xff0c;calico支持廣泛的平臺。如k8s&#xff0c;openstack等。 calio在每一個計算節點利用linux內核&#xff0c;實現了一個高效的虛擬路由器來…

提升AI性能的秘密武器:量化、蒸餾與剪枝全面解析

通過高效的模型壓縮技術推進 NLP 在快速發展的自然語言處理 (NLP) 領域,模型的大小和復雜性顯著增加,從而顯著提高了性能。然而,這些龐大模型的部署和維護也帶來了挑戰,特別是在計算成本、功耗和資源受限用戶的可訪問性方面。本博客深入探討了量化、剪枝和蒸餾等尖端模型壓…

數據結構(python)-------棧和隊列2

目錄 二、隊列 &#xff08;一&#xff09;、定義 1. 定義 2. 邏輯結構 3. 存儲結構 4. 運算規則 5. 實現方式 &#xff08;二&#xff09;、隊列與一般線性表的區別 一般線性表 隊列 &#xff08;三&#xff09;、分類 …

基于SpringBoot的“校園招聘網站”的設計與實現(源碼+數據庫+文檔+PPT)

基于SpringBoot的“校園招聘網站”的設計與實現&#xff08;源碼數據庫文檔PPT) 開發語言&#xff1a;Java 數據庫&#xff1a;MySQL 技術&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系統展示 系統整體功能圖 局部E-R圖 系統首頁界面 系統注冊…

投資日記_道氏理論技術分析

主要用于我自己參考&#xff0c;我感覺我做事情的時候容易上頭&#xff0c;忘掉很多事情。 技術分析有很多方法&#xff0c;但是我個人相信并實踐的還是以道氏理論為根本的方法。方法千千萬萬只有適合自己價值觀&#xff0c;習慣&#xff0c;情緒&#xff0c;性格的方法才是好的…

ceph運維硬件規劃技巧

在規劃Ceph集群的硬件配置時&#xff0c;需要綜合考慮性能、成本、冗余、可擴展性以及特殊場景需求等因素。以下是關于Ceph硬件規劃的關鍵技巧和建議&#xff0c;涵蓋存儲設備、網絡、服務器配置、容量規劃、冗余策略等多個方面&#xff1a; 1. 硬件選型建議 存儲設備 存儲節點…

Windows主機、虛擬機Ubuntu、開發板,三者之間文件互傳

以下內容源于日常學習的整理&#xff0c;歡迎交流。 下圖是Windows主機、虛擬機Ubuntu、開發者三者之間文件互傳的方式示意圖&#xff1a; 注意&#xff0c;下面談及的所有方式&#xff0c;都要求兩者的IP地址處于同一網段&#xff0c;涉及到的軟件資源見felm。 一、Windows主…

Softmax溫度調節與注意力縮放:深度神經網絡中的平滑藝術

Softmax溫度調節與注意力縮放&#xff1a;深度神經網絡中的平滑藝術 在深度學習的精密機械中&#xff0c;有些細微的調整機制往往被視為理所當然&#xff0c;卻實際上蘊含著深刻的數學洞察和巧妙的工程智慧。今天&#xff0c;我們將探討兩個看似獨立卻本質相通的機制&#xff…

RIP路由欺騙攻擊與防御實驗詳解

一、基礎網絡配置 1. 路由器R1配置 interface GigabitEthernet0/0/0ip address 192.1.2.254 255.255.255.0 ! interface GigabitEthernet0/0/1ip address 192.1.3.254 255.255.255.0 ! router rip 1version 2network 192.1.2.0network 192.1.3.0 2. 路由器R2配置 interface…

阿里云平臺Vue項目打包發布

目錄&#xff1a; 1、vue項目打包2、通過ngixn發布vue的打包文件 1、vue項目打包 在你的vue項目下執行npm run build命令進行打包。 2、通過ngixn發布vue的打包文件 直接將打包的dist文件拷貝到nginx目錄下即可。 修改nginx.conf的配置文件的相關配置&#xff0c;如端口或者ro…

《基于Spring Boot+Vue的智慧養老系統的設計與實現》開題報告

個人主頁:@大數據蟒行探索者 一、研究背景及國內外研究現狀 1.研究背景 根據1982年老齡問題世界大會聯合國制定的標準,如果一個國家中超過65歲的老人占全國總人口的7%以上,或者超過60歲的老人占全國總人口的10%以上,那么這個國家將被定義為“老齡化社會”[1]。 隨著國…

SpringCache @Cacheable 在同一個類中調用方法,導致緩存不生效的問題及解決辦法

由于項目需要使用SpringCache來做一點緩存&#xff0c;但自己之前沒有使用過&#xff08;其實是沒有聽過&#xff09;SpringCache&#xff0c;于是&#xff0c;必須先學習之。 顯然&#xff0c;就是在同一個類中&#xff0c;MethodA 調用了 MethodB&#xff0c;那么 MethodB 上…

2025-03-20(DS復習):詳細介紹一下Databricks 的Delta Lake

Delta Lake 是 Databricks 推出的一種開源存儲層&#xff0c;它構建在現有數據湖&#xff08;如 Amazon S3、Azure Data Lake Storage、Google Cloud Storage&#xff09;之上&#xff0c;為數據湖提供了數據倉庫級別的可靠性、性能和管理功能。Delta Lake 解決了傳統數據湖的許…