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完成

相关推荐
冬奇Lab1 小时前
一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
开源·音视频开发
一个处女座的程序猿3 小时前
AI之Agent之VibeCoding:《Vibe Coding Kills Open Source》翻译与解读
人工智能·开源·vibecoding·氛围编程
一只大侠的侠4 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
IvorySQL5 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
小Pawn爷5 小时前
4.镜像仓库
docker
一只大侠的侠5 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠5 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠5 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
晚霞的不甘6 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
江湖有缘6 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker