电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用docker compose安裝harbor私有倉庫的詳細教程

瀏覽:142日期:2024-10-25 10:48:02
概述

harbor是什么呢?英文單詞的意思是:港灣。港灣用來存放集裝箱(貨物的),而docker的由來正是借鑒了集裝箱的原理,所以harbor是用于存放docker的鏡像,作為鏡像倉庫使用。官方的說法是:Harbor是一個用于存儲和分發Docker鏡像的企業級Registry服務器。

harbor鏡像倉庫是由VMware開源的一款企業級鏡像倉庫,它包括權限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊、鏡像復制等諸多功能。

一、harbor特性

1、基于角色的訪問控制:用戶和存儲庫是通過“項目”組織的,用戶可以對多個鏡像倉庫統一命名空間擁有不同的權限。2、鏡像復制:可以基于具有多個Registry實例之間復制(同步)圖像和圖表。如果出現任何錯誤,Harbor會自動重試復制。非常適合于負載平衡、高可用性、多數據中心、混合和多云場景。3、LDAP/AD支持:Harbor與現有企業LDAP/AD集成,用于用戶身份驗證和管理,并支持將LDAP組導入Harbor并為其分配適當的項目角色。鏡像刪除和垃圾收集:鏡像可以刪除,其空間可以回收。4、國際化:對多國語言支持(已擁有中文、英文、德文、日語和俄文);5、圖形化用戶界面:用戶可以輕松瀏覽、搜索存儲庫和管理項目。6、審計管理:跟蹤到存儲庫的所有操作。7、RESTful API:用于大多數管理操作的RESTful API,易于與外部系統集成。一個嵌入式的Swagger用戶界面可用于探索和測試API。簡單部署:提供在線和離線安裝程序。此外,可以安裝到vSphere平臺的(OVA方式)虛擬設備。

二、Harbor 組件

1、proxy:Harbor的組件,如注冊表、UI和令牌服務,都位于反向代理之后。代理將來自瀏覽器和Docker客戶機的請求轉發到各種后端服務。2、Registry:負責存儲Docker鏡像和處理Docker推/拉命令。由于Harbor需要對映像進行訪問權限控制,Registry將引導客戶機訪問令牌服務,以便為每個pull或push請求獲取有效的令牌(token)。3、Core Service:Harbor的核心功能,主要提供以下服務:1)UI:提供圖像化的圖形用戶界面,幫助人戶管理鏡像和對用戶授權。2)webhook: 為了及時獲取registry上images的狀態變化的情況,在Registry上配置webhook,把狀態變化傳遞UI模塊;3)Token令牌服務:負責根據用戶在項目中的角色為每個docker push/pull命令頒發令牌。如果從Docker客戶機發送的請求中沒有令牌,注冊表將把請求重定向到令牌服務。4、Datebase:為了給core services提供數據庫舒服,負責儲存用戶權限、審計日志、Docker image分組信息等數據。5、Job Services:提供鏡像遠程負責功能,能把本地鏡像同步到其他harbor實例當中。6、Log Collector:為了幫助監控Harbor運行,負責手機其他組件的log,供日后分析。

使用docker compose安裝harbor私有倉庫的詳細教程

三、部署環境

centos-7.6 192.168.8.130Docker version 1.19.3docker-compose version 1.24.2harbor-offline-installer-v1.8.6.tgz四、安裝docker-compose

方式1:[root@centos130 ~]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose[root@centos130 ~]# chmod +x /usr/local/bin/docker-compose方式2:[root@centos130 ~]# wget https://bootstrap.pypa.io/get-pip.py[root@centos130 ~]# python get-pip.py[root@centos130 ~]# pip install docker-compose五、卸載docker-compose

#二進制:[root@centos130 ~]rm /usr/local/bin/docker-compose#pip:[root@centos130 ~]pip uninstall docker-compose六、安裝docker

[root@centos130 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2添加一個穩定的源[root@centos130 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo[root@centos130 ~]# yum makecache fast安裝最新穩定版本的docker-ce[root@centos130 ~]# yum install -y docker-ce docker-ce-cli containerd.io vim[root@centos130 ~]# mkdir /etc/docker && vim /etc/docker/daemon.json{ 'registry-mirrors': ['https://yxrgrke0.mirror.aliyuncs.com'], 'insecure-registries': ['192.168.8.130:5000'], 'insecure-registries': ['centos130:80'], 'log-driver': 'json-file', 'log-opts': { 'max-size': '100m', 'max-file': '3' }}啟動docker[root@centos130 ~]# systemctl daemon-reload[root@centos130 ~]# systemctl enable docker && systemctl start docker[root@centos130 ~]# systemctl status docker七、安裝harbor

harbor下載地址:harbor github 地址 https://github.com/goharbor/harborhttp://harbor.orientsoft.cn/[root@centos130 ~]# wget https://storage.googleapis.com/harbor-releases/release-1.8.6/harbor-offline-installer-v1.8.6.tgz[root@centos130 ~]# tar -xf harbor-offline-installer-v1.8.6.tgz -C /usr/local/[root@centos130 ~]# cd /usr/local/harbor/[root@centos130 ~]# vim harbor.ymlhostname = centos130#這里只是簡單的測試,所以只編輯這一行,其他的默認不做修改#禁止用戶注冊self_registration = off#設置只有管理員可以創建項目project_creation_restriction = adminonly八、執行安裝腳本

[root@centos130 ~]# ./instsll.sh 說明:安裝報錯 找不到docker-proxy 、 docker-runc執行[root@centos130 ~]# ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc[root@centos130 ~]# ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy查看啟動的鏡像文件[root@centos130 ~]# docker-compose psHarbor容器的stop與start:[root@centos130 ~]# cd /usr/local/harbor/[root@centos130 ~]# docker-compose stop[root@centos130 ~]# docker-compose start九、登錄harbor

到此便安裝完成了,直接打開瀏覽器登陸,并創建my項目:默認用戶密碼是:admin/Harbor12345

使用docker compose安裝harbor私有倉庫的詳細教程

Shell命令行終端登錄harbor倉庫

[root@centos130 ~]# harbor上傳鏡像[root@centos130 ~]# docker login centos130:80[root@centos130 ~]# docker login -u admin -p Harbor12345 centos130:80 #賬號密碼: admin/Harbor12345Username: adminPassword: Login Succeeded

測試鏡像上傳

[root@centos130 ~]# docker pull nginx[root@centos130 ~]# docker tag nginx:latest centos130:80/my/nginx:latest[root@centos130 ~]# docker images[root@centos130 ~]# docker push centos130:80/my/nginx:latestThe push refers to repository [centos130:80/my/nginx]55a77731ed26: Pushed 71f2244bc14d: Pushed f2cb0ecef392: Pushed latest: digest: sha256:3936fb3946790d711a68c58be93628e43cbca72439079e16d154b5db216b58da size: 948說明: 格式為: userip/項目名/image名字:版本號 (項目名需要在webui 提前建好)[root@centos130 ~]# docker imagesREPOSITORY TAGIMAGE ID CREATED SIZEcentos130:80/my/nginx:latest latest 5a3221f0137b5 days ago 126MBnginx latest 5a3221f0137b5 days ago 126MB刪除本地nginx鏡像,測試下載[root@centos130 ~]# docker pull centos130:80/my/nginx:latest十、harbor修改端口號

1、修改docker-compose.yml文件映射為1180端口:

修改配置文件[root@centos130 ~]# cat /usr/local/harbor/docker-compose.ymlversion: ’2.3’services: log: image: goharbor/harbor-log:v1.8.6 container_name: harbor-log restart: always dns_search: . cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - SETGID - SETUID volumes: - /var/log/harbor/:/var/log/docker/:z - ./common/config/log/:/etc/logrotate.d/:z ports: - 127.0.0.1:1514:10514 networks: - harbor registry: image: goharbor/registry-photon:v2.7.1-patch-2819-v1.8.6 container_name: registry restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /data/registry:/storage:z - ./common/config/registry/:/etc/registry/:z - type: bindsource: /data/secret/registry/root.crttarget: /etc/registry/root.crt networks: - harbor dns_search: . depends_on: - log logging: driver: 'syslog' options: syslog-address: 'tcp://127.0.0.1:1514'tag: 'registry' registryctl: image: goharbor/harbor-registryctl:v1.8.6 container_name: registryctl env_file: - ./common/config/registryctl/env restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /data/registry:/storage:z - ./common/config/registry/:/etc/registry/:z - type: bindsource: ./common/config/registryctl/config.ymltarget: /etc/registryctl/config.yml networks: - harbor dns_search: . depends_on: - log logging: driver: 'syslog' options: syslog-address: 'tcp://127.0.0.1:1514'tag: 'registryctl' postgresql: image: goharbor/harbor-db:v1.8.6 container_name: harbor-db restart: always cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - SETGID - SETUID volumes: - /data/database:/var/lib/postgresql/data:z networks: harbor: dns_search: . env_file: - ./common/config/db/env depends_on: - log logging: driver: 'syslog' options: syslog-address: 'tcp://127.0.0.1:1514'tag: 'postgresql' core: image: goharbor/harbor-core:v1.8.6 container_name: harbor-core env_file: - ./common/config/core/env restart: always cap_drop: - ALL cap_add: - SETGID - SETUID volumes: - /data/ca_download/:/etc/core/ca/:z - /data/psc/:/etc/core/token/:z - /data/:/data/:z - ./common/config/core/certificates/:/etc/core/certificates/:z - type: bindsource: ./common/config/core/app.conftarget: /etc/core/app.conf - type: bindsource: /data/secret/core/private_key.pemtarget: /etc/core/private_key.pem - type: bindsource: /data/secret/keys/secretkeytarget: /etc/core/key networks: harbor: dns_search: . depends_on: - log - registry logging: driver: 'syslog' options: syslog-address: 'tcp://127.0.0.1:1514'tag: 'core' portal: image: goharbor/harbor-portal:v1.8.6 container_name: harbor-portal restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID - NET_BIND_SERVICE networks: - harbor dns_search: . depends_on: - log - core logging: driver: 'syslog' options:syslog-address: 'tcp://127.0.0.1:1514'tag: 'portal' jobservice: image: goharbor/harbor-jobservice:v1.8.6 container_name: harbor-jobservice env_file: - ./common/config/jobservice/env restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /data/job_logs:/var/log/jobs:z - type: bindsource: ./common/config/jobservice/config.ymltarget: /etc/jobservice/config.yml networks: - harbor dns_search: . depends_on: - redis - core logging: driver: 'syslog' options:syslog-address: 'tcp://127.0.0.1:1514'tag: 'jobservice' redis: image: goharbor/redis-photon:v1.8.6 container_name: redis restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /data/redis:/var/lib/redis networks: harbor: dns_search: . depends_on: - log logging: driver: 'syslog' options:syslog-address: 'tcp://127.0.0.1:1514'tag: 'redis' proxy: image: goharbor/nginx-photon:v1.8.6 container_name: nginx restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID - NET_BIND_SERVICE volumes: - ./common/config/nginx:/etc/nginx:z networks: - harbor dns_search: . ports: - 1180:80 - 443:443 - 4443:4443 depends_on: - postgresql - registry - core - portal - log logging: driver: 'syslog' options: syslog-address: 'tcp://127.0.0.1:1514'tag: 'proxy'networks: harbor: external: false

2、修改/etc/docker/daemon.json文件將80修改為1180端口:

修改daemon配置[root@centos130 ~]# cat /etc/docker/daemon.json { 'registry-mirrors': ['https://yxrgrke0.mirror.aliyuncs.com'], 'insecure-registries': ['192.168.8.130:5000'], 'insecure-registries': ['centos130:1180'], 'log-driver': 'json-file', 'log-opts': { 'max-size': '100m', 'max-file': '3' }}

3、修改/usr/locat/harbor/harbor.yml文件的hostname

修改hostname配置cat /usr/locat/harbor/harbor.ymlhostname: centos130:1180

4、停止harbor,重新啟動并生成配置文件

重新初始化[root@centos130 ~]# cd /usr/locat/harbor/[root@centos130 ~]# docker-compose stop[root@centos130 ~]# ./install.sh

5、重新啟動docker

[root@centos130 ~]# systemctl daemon-reload[root@centos130 ~]# systemctl restart docker.service驗證[root@centos130 ~]# docker login centos130:1180Username: adminPassword: Harbor12345

到此這篇關于使用docker-compose安裝harbor的文章就介紹到這了,更多相關docker compose安裝harbor內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
主站蜘蛛池模板: 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 菏泽知彼网络科技有限公司| 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 农产品溯源系统_农产品质量安全追溯系统_溯源系统 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 税筹星_灵活用工平台_企业财务顾问_财税法薪综合服务平台 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 |