标题:搭建Harbor镜像仓库:从安装到上传镜像
简介: 在软件开发过程中,一个稳定的镜像仓库对于存储和管理镜像至关重要。Harbor提供了一个强大的解决方案,允许您在本地环境中搭建私有的Docker镜像仓库。
引言:
Harbor是一个存储和分发Docker镜像的本地仓库,本文将介绍如何在CentOS 7环境下安装并配置Harbor,以及如何上传和访问镜像。
准备工作
官网: 港 (goharbor.io) https://goharbor.io/
安装环境:centos7,配置好IP、yum、防火墙
安装准备
官网下载
# 下载并上传Harbor安装包至服务器
# 确保CentOS 7环境配置正确,包括pip工具、docker-compose等的安装和配置
安装Harbor
# 解压Harbor安装包并配置harbor.yml文件
tar -xzvf harbor-offline-installer-v2.7.4.tgz
cp harbor/harbor.yml.tmpl harbor/harbor.yml
修改harbor.yml,设置主机IP等相关参数
vim harbor/harbor.yml
修改harbor.yml
hostname: reg.mydomain.com
修改为:
hostname: 本机的ip
配置SSL 证书和私钥
**
流程:
简介
在CentOS 7中,SSL 证书和私钥的位置可以根据您的具体配置而有所不同,但通常它们会存储在/etc/pki/tls/certs/和/etc/pki/tls/private/目录下。以下是一些常见的默认路径:
SSL 证书的路径:
/etc/pki/tls/certs/
这个目录通常包含具有 .crt 扩展名的证书文件。您的 SSL 证书可能被存储在这个目录或类似的目录中。
SSL 私钥的路径:
/etc/pki/tls/private/
这个目录通常包含私钥文件,这些文件的扩展名可能是 .key。
使用 OpenSSL 创建自签名证书
安装 OpenSSL:
1、在 CentOS 7 上,您可以使用以下命令安装 OpenSSL:
sudo yum install openssl
(下面的命令都行一行命令)
2、生成私钥:
使用以下命令生成一个私钥文件(.key):
openssl genpkey -algorithm RSA -out /etc/pki/tls/private/key.key
3、生成证书请求 (CSR):
使用以下命令生成一个证书请求文件(.csr):
Certificate该文件夹可能需要自己操作,如果没有文件夹需要自己创建
openssl req -new -key /etc/pki/tls/private/key.key -out /etc/pki/tls/certificate/request.csr
需要填写一些信息
4、生成自签名证书:
使用以下命令生成一个自签名证书文件(.crt):
openssl x509 -req -days 365 -in /etc/pki/tls/certificate/request.csr -signkey /etc/pki/tls/private/key.key -out /etc/pki/tls/certs/certificate.crt
修改harbor.yml
脚本安装
通过网页访问Harbor
用户名和密码
查看文件:harbor.yml
登录成功界面
上传镜像到Harbor
# 在daemon.json文件中添加Harbor镜像仓库地址
vim /etc/docker/daemon.json
# 添加如下内容
{
"insecure-registries": ["http://你的IP"],
"registry-mirrors": ["https://uy35zvn6.mirror.aliyuncs.com"]
}
# 重启docker和守护进程
systemctl daemon-reload
systemctl restart docker
给需要上传的镜像打上标签,并上传到Harbor镜像私有仓库
docker tag SOURCE_IMAGE[:TAG] 192.168.200.201/library/REPOSITORY[:TAG]
[root@docker1 harbor]# docker tag centos:7 192.168.200.201/library/centos:7
上传
登录harbor
[root@docker1 harbor]# docker login http://192.168.200.201
上传镜像
docker push 192.168.200.201/library/REPOSITORY[:TAG]
[root@docker1 harbor]# docker push 192.168.200.201/library/centos:7
验证是否上传成功
在其它服务器上访问harbor
另一台主机上配置镜像地址:
[root@docker2 ~]# vim /etc/docker/daemon.json
重启docker
[root@docker2 ~]# systemctl restart docker
docker pull 192.168.200.201/library/centos@sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f
成功下载。
总结:
Harbor提供了一个安全且可靠的方式来管理镜像,并为团队协作提供了便利。通过本文的步骤,您已经学会了在CentOS 7上搭建Harbor镜像仓库,并成功上传和访问镜像。
注意: 在实际操作中,请根据您的环境和需求进行适当的修改和调整。确保遵循最佳实践和安全措施,尤其是在生产环境中使用自签名证书时要注意安全性。