官网地址:https://github.com/goharbor/harbor
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
1、为Harbor自签颁发证书
mkdir /data/ssl -p
cd /data/ssl/
生成CA证书:
# 生成一个3072位的key, 也就是私钥
openssl genrsa -out ca.key 3072
# 生成一个数字证书ca.pem, 3650表示证书的有效时间是3年
openssl req -new -x509 -days 3650 -key ca.key -out ca.pem
生成域名的证书:
# 生成一个3072位的key
openssl genrsa -out harbor.key 3072
# 生成一个证书请求,一会签发证书时需要的
openssl req -new -key harbor.key -out harbor.csr
签发证书:
openssl x509 -req -in harbor.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out harbor.pem -days 3650
2、安装Harbor
下载harbor离线包的地址:https://github.com/goharbor/harbor/releases
创建安装目录:
mkdir /data/harbor
cd /data/harbor
wget https://github.com/goharbor/harbor/releases/download/v2.8.0-rc1/harbor-offline-installer-v2.8.0-rc1.tgz
解压:
tar zxf harbor-offline-installer-v2.8.0-rc1.tgz
cd harbor/
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rjb2bWzV-1682041396002)(D:\MD归档文档\IMG\image-20230416182218036.png)]
3、Harbor采用docker-compose安装,所以我们首先安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.10.2/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
4、执行安装harbor脚本
./prepare
./install.sh
5、浏览器访问IP
账号:admin 密码:Harbor12345
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lzkvzn02-1682041396003)(D:\MD归档文档\IMG\image-20230416174132028.png)]
1、docker指定harbor仓库地址
修改docker配置添加insecure-registries
指定Harbor仓库地址,使其信任此仓库。
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://aoewjvel.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"insecure-registries" : ["152.136.184.171"]
}
重启docker
systemctl daemon-reload
systemctl restart docker
登入仓库
docker login 152.136.184.171
2、创建一个 qinzt 仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-smfkUFZh-1682041396004)(D:\MD归档文档\IMG\image-20230416182759175.png)]
3、打标签上传镜像 至 qinzt 仓库
docker tag centos:7 152.136.184.171/qinzt/centos:7
docker push 152.136.184.171/qinzt/centos:7
4、下载镜像
docker pull 152.136.184.171/qinzt/centos:7