Docker的开源容器镜像仓库Harbor安装

概述

Docker Hub是Docker官方提供的在线Docker镜像注册中心,其支持Docker镜像的查询(search)、提交(push)以及获取(pull)。目前,在云原生领域中,CNCF提供Harbor开源版本与Docker Hub对应,支持开源版本下载、本地服务器安装部署,本文主要描述Harbor在Centos Linux中的安装部署。

如上所示,目前Harbor支持与兼容很多仓库注册中心,其中,包括Docker Hub。

安装环境要求

如上所示,安装环境的硬件要求,最小硬件资源配置与推荐硬件资源配置,其中,包括CPU处理器、Mem内存空间大小以及Disk磁盘空间大小

如上所示,安装环境的软件要求,Docker Engine与Docker Compose是Docker平台的核心组件,OpenSSL是安全组件、用于提供数据的加密以及安全地传输、数字证书的制作

如上所示,安装环境的网络要求,其中,包括SSL安全传输协议的加密端口、非加密端口

下载安装包

如上所示,在github官方网站上下载Harbor的最新版本

如上所示,启动Docker引擎服务、安装Docker compose组件、安装openssl组件

设置OpenSSL

|---------------------------------|
| openssl genrsa -out ca.key 4096 |

如上所示,使用openssl生成一个4096位的私钥ca.key,用于数字证书签名

|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \ -key ca.key \ -out ca.crt |

如上所示,使用私钥ca.key生成一个用于签名的数字证书ca.crt,该证书格式规范是x509

|---------------------------------------------|
| openssl genrsa -out yourdomain.com.key 4096 |

如上所示,使用openssl生成一个4096位的私钥yourdomain.com.key,制作用于Harbor网络安全的数字证书

|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| openssl req -sha512 -new \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \ -key yourdomain.com.key \ -out yourdomain.com.csr |

如上所示,使用私钥yourdomain.com.key制作一个用于制作数字证书的yourdomain.com.csr源文件

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| cat > v3.ext <<-EOF authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names alt_names DNS.1=yourdomain.com DNS.2=yourdomain DNS.3=hostname EOF |

如上所示,设置Harbor数字证书扩展信息,其格式规范是x509 v3

|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in yourdomain.com.csr \ -out yourdomain.com.crt |

如上所示,使用ca.crt数字证书对yourdomain.com.csr数字证书源文件进行数字签名,输出Harbor的数字证书yourdomain.com.crt

|--------------------------------------------------------------------------|
| openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert |

如上所示,将数字证书yourdomain.com.crt转换成pem格式yourdomain.com.cert

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/ cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/ cp ca.crt /etc/docker/certs.d/yourdomain.com/ |

如上所示,将Harbor需要的私钥以及数字证书复制到Docker引擎中,并且重启Docker引擎

如上所示,修改harbor.yml中的nginx的数字证书以及秘钥的路径

如上所示,安装Harbor完成

相关推荐
冬奇Lab5 小时前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源
冬奇Lab5 小时前
每日一个开源项目(第141篇):hiring-agent - HackerRank 开源了他们的简历评分系统,你的简历能得几分?
人工智能·面试·开源
Patrick_Wilson6 小时前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
喝拿铁写前端7 小时前
我替你试了:GitNexus 不是更强的搜索框
开源·资讯
Suroy16 小时前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
Tigger16 小时前
受不了 ¥98/年的订阅,我用 Vibe Coding 自己写了个剪贴板工具
人工智能·开源·mac
云恒要逆袭16 小时前
运行你的第一个Docker容器
后端·docker·容器
冬奇Lab1 天前
每日一个开源项目(第140篇):AgentScope 2.0 - 阿里开源的生产级 Agent 框架
人工智能·开源·agent
冬奇Lab1 天前
Skill 系列(04):Skill 指标体系——L1/L2/L3 三层监控,让质量下降有据可查
人工智能·开源·llm
宋均浩2 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker