ce加速器(space加速器)
时间:2022-03-27 13:38:15
小编:蜀小陈
阅读:
上一篇文章我们使用了 registry 镜像来搭建Docker私有镜像仓库,但是使用体验不是很好,没有一个可管理的UI界面,管理很麻烦。
本篇文章将介绍一个新的搭建Docker镜像仓库的工具叫做 Harbor。Harbor 拥有一个易于管理的UI,提供多语言的切换,支持项目管理、日志记录、用户管理、仓库管理等等,是大多数人选择自建Docker镜像仓库的重要选择之一。
Harbor介绍
官网:HTTPS://goharbor.io/
GitHub地址:https://github.com/goharbor/harbor
官方安装文档:https://goharbor.io/docs/2.4.0/install-config/
安装要求
安装Harbor会部署多个Docker容器,因此在部署前需要确定你得Linux主机是否安装Docker和Docker Compose.
硬件需求
Resource | Minimum | Recommended |
CPU | 2 CPU | 4 CPU |
Mem | 4 GB | 8 GB |
Disk | 40 GB | 160 GB |
软件需求
Software | Version | DescrIPtion |
Docker engine | Version 17.06.0-ce+ or higher | |
Docker Compose | Version 1.18.0 or higher | 安装文档参考:docker-compose容器编排 |
Openssl | Latest is preferred | Used to generate certificate and keys for Harboryum install -y openssl openssl-devel |
开放端口
需要开放以下端口:
Port | Protocol | Description |
443 | HTTPS | Harbor portal and core API accept https requests on this port. You can change this port in the configuration file. |
4443 | HTTPS | Connections to the Docker Content Trust service for Harbor. Only required if Notary is enabled. You can change this port in the configuration file. |
80 | HTTP | Harbor portal and core API accept HTTP requests on this port. You can change this port in the configuration file. |
下载 Harbor 并解压
在Harbor的github发布页面下载Harbor在线安装包或离线安装包。
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-online-installer-v2.4.1.tgztar zxvf harbor-online-installer-v2.4.1.tgz
配置对 Harbor 的 Https 访问
默认情况下,Harbor不附带证书,也可以部署,但是是通过http访问,未进行加密,所以需要配置为使用https来访问,保证访问的安全性。
要配置https,就必须创建SSL证书,可以使用受信任的第三方CA签发的证书,比如 Let's Encrypt,也可以使用自签名的证书。
下面介绍如果使用自签名证书,这里假设我访问 Harbor 的域名是 harbor.chenxie.net ,并且已经配置好了DNS解析,域名已经指向我的这台机器。(直接添加 192.168.92.147 harbor.chenxie.net 到 /etc/hosts)
生成证书颁发机构证书
1. 生成 CA 证书私钥
openssl genrsa -out ca.key 4096
2. 生成 CA 证书
修改下面 -subj 中的信息为你自己的。
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Chengdu/L=Chengdu/O=example/OU=Personal/CN=harbor.chenxie.net" -key ca.key -out ca.crt
生成服务器证书
证书通常包含一个 .crt 文件和一个 .key 文件,比如 harbor.chenxie.net.crt 和 harbor.chenxie.net.key
1. 生成私钥
openssl genrsa -out harbor.chenxie.net.key 4096
2. 生成证书签名请求(CSR)
修改下面 -subj 中的信息为你自己的。
openssl req -sha512 -new -subj "/C=CN/ST=Chengdu/L=Chengdu/O=example/OU=Personal/CN=harbor.chenxie.net" -key harbor.chenxie.net.key -out harbor.chenxie.net.csr
3. 生成 x509 v3 扩展文件
cat > v3.ext <<-EOFauthorityKeyIdentifier=keyid,issuerbasicConstraints=CA:FALSEkeyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEnciphermentextendedKeyUsage = serverAuthsubjectAltName = @alt_names[alt_names]DNS.1=harbor.chenxie.netDNS.2=chenxie.netDNS.3=harborEOF
4. 使用 v3.ext 文件为 Harbor 主机创建证书
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in harbor.chenxie.net.csr -out harbor.chenxie.net.crt
向 Harbor 和 Docker 提供证书
生成 ca.crt , harbor.chenxie.net.crt 和 harbor.chenxie.net.key 文件之后,必须将它们提供给 Harbor和Docker并重新配置Harbor来使用到它。
1. 拷贝服务器证书和key到指定的目录
mkdir -p /data/certcp harbor.chenxie.net.crt /data/cert/cp harbor.chenxie.net.key /data/cert/
2. 转换 harbor.chenxie.net.crt 为 harbor.chenxie.net.cert ,用于Docker使用。
Docker守护进程会将 .crt 文件解释为CA证书,将 .cert 文件解释为客户端证书。
openssl x509 -inform PEM -in harbor.chenxie.net.crt -out harbor.chenxie.net.cert
3. 拷贝服务器证书,key和CA文件到Docker的证书目录。
mkdir -p /etc/docker/certs.d/harbor.chenxie.net/cp harbor.chenxie.net.cert /etc/docker/certs.d/harbor.chenxie.net/cp harbor.chenxie.net.key /etc/docker/certs.d/harbor.chenxie.net/cp ca.crt /etc/docker/certs.d/harbor.chenxie.net/
注意:如果你将默认的nginx端口443改为了其他端口,则创建文件夹时应该加上端口,如将443改为了8888,创建文件夹应该如下:
mkdir -p /etc/docker/certs.d/harbor.chenxie.net:8888或mkdir -p /etc/docker/certs.d/harbor_IP:8888
4. 重启docker
systemctl restart docker
部署或重新配置Harbor
现在我们还没有部署Harbor,所以需要配置 harbor.yml 文件并在文件中配置证书指定 hostname和https.
配置 harbor.yml
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
配置 hostname 为: hostname: harbor.chenxie.net配置 certificate 为:/data/cert/harbor.chenxie.net.crt配置 private_key 为:/data/cert/harbor.chenxie.net.key其他默认即可
运行安装脚本
我们已经配置好了 harbor.yml 文件,现在只需要运行 install.sh 即可启动安装,在线安装时间会比较长一点,请耐心等待。
安装 Harbor 有几种不同的配置安装方式:
- Just Harbor, without Notary, Trivy or Chart Repository Service
- Harbor with Notary
- Harbor with Trivy
- Harbor with Chart Repository Service
- Harbor with two or all three of Notary, Trivy, and Chart Repository Service
第一种方式(默认):
Just Harbor, without Notary, Trivy or Chart Repository Service.
也就是只安装 Harbor,不安装 Notary, Trivy or Chart Repository Service.
直接运行 install.sh 即可:
./install.sh
安装成功之后即可使用配置的地址进行访问 https://harbor.chenxie.net/ 进行访问,访问时会报证书错误,忽略即可,因为是自签证书。
默认管理账户为:
用户名:admin密 码:Harbor12345
命令行登录和推送镜像测试:
1. 在后台新建一个项目,比如:myproject
2. 使用Docker命令登录Harbor,给镜像打Tag,然后推送到Harbor
a. 登录
[root@localhost ~]# docker login harbor.chenxie.netUsername: adminPassword: WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
b. 拉取一个ubuntu镜像,重新打tag并推送到Harbor
[root@localhost ~]# docker pull ubuntu[root@localhost ~]# docker tag ubuntu harbor.chenxie.net/myproject/ubuntu:v1.0[root@localhost ~]# docker push harbor.chenxie.net/myproject/ubuntu:v1.0
c. 在Harbor控制台查看
其他方式安装
请参考官方文档:https://goharbor.io/docs/2.4.0/install-config/
本文标签:
-
火影忍者疾风传究极觉醒2(火影忍者疾风传究极觉醒2存档)文/石若萧3月,没有多少质量过硬的影片上映,再加上多地受到疫情影响关闭了影院,全国大盘连续数日都只徘徊在千余万的规模,这点收入摊到每家影院,恐怕连水电房租都难以缴纳。这时候时间:2022-04-22
-
火影忍者疾风传国语(火影忍者疾风传国语版全集国语版在线观看)火影忍者疾风传已经完结,没有追番都小伙伴难道不追了吗?接下来为大家盘点一下火影忍者必看的战斗画面有哪些。1.卡卡西VS桃地再不斩这是火影忍者中的第一次真正的战斗,向我们充时间:2022-04-22
-
火影忍者羁绊密码(火影忍者羁绊密码6.95)随着火影忍者手游二测的开启,全新的羁绊系统终于解开了神秘面纱,我们都知道“羁绊”一次是火影忍者中的意义,所以羁绊系统也是游戏内十分重要的系统之一,羁绊系统可以增加玩家的时间:2022-04-22
-
火影忍者羁绊60六道仙人箴言(火影忍者羁绊6.9仙人真谛)秋名山上行人稀,头昏眼花血糖低。身娇体弱易推倒,带带我吧老司机。第一个:水门在九尾袭击木叶时,水门算好了面具男将来会祸害忍界,于是将一半的九尾之力封印在鸣人体内,还留下了时间:2022-04-22
-
火影忍者羁绊571(火影忍者羁绊571隐藏密码)2021.11.02 农历 九月二十八 辛丑年 【牛年】 戊戌月 甲寅日 周二 第44周希腊概况希腊Ελληνική Δημοκρατία希腊共和国(希腊语:Ελληνική Δημοκ时间:2022-04-22
c
- 类型:策略棋牌
- 语言:简中
- 大小: 70.25MB
- 版本: 0.1.0
- 星级:
PA
- 类型:影音视听
- 语言:简中
- 大小: 0KB
- 版本: 1.0
- 星级:
热门阅读
- 暗黑3魔盒(暗黑3魔盒使用攻略)
阅读:3535
- dnf五一(dnf五一套2022)
阅读:2266
- 艾尔登法环摩恩城支线攻略 老头环摩恩城主女儿支线任务
阅读:2219
- 微博不小心点了催更怎么取消(视频催更怎么关)
阅读:1931
- 斗罗大陆小舞篇破解版(斗罗大陆小舞篇破解版安卓)
阅读:1647