通过Harbor构建docker私服仓库

        Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,它扩展了开源的Docker Distribution,通过添加一些企业必需的功能特性,如安全、标识和管理等。Harbor由VMware公司开发并开源,旨在帮助用户迅速搭建一个企业级的Docker Registry服务。

        作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全,提升了用户使用Registry构建和运行环境传输镜像的效率。它支持安装在多个Registry节点的镜像资源复制,确保数据和知识产权在公司内部网络中管控。此外,Harbor还提供了高级的安全特性,如用户管理、访问控制和活动审计等。

官网地址:GitHub - goharbor/harbor: An open source trusted cloud native registry project that stores, signs, and scans content.

配置要求:

安装 harbor 的机器,机器需要的内存至少要 2G

一、为 Harbor 自签发证书

需先安装openssl这里不进行赘述

【1】生成ca证书

openssl genrsa -out ca.key 4096 openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/CN=harbor23.com" -key ca.key -out ca.crt

【2】生成服务器证书

创建私钥

openssl genrsa -out server.key 4096

生成签名

openssl req -new -sha512 -subj "/CN=harbor23.com" -key server.key -out server.csr

生成一个包含特定扩展字段的X.509证书配置文件

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]DNS.1=
harbor23.com
EOF

生成证书

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

复制服务器证书到机器目录下

cp server.crt /etc/docker/certs.d/harbor23.com/server.crt

二、安装 harbor

mkdir /data/install -p cd /data/install/

【1】 下载harbor

cd /data/install/ 

把 harbor 的离线包 harbor-offline-installer-v2.3.0-rc3.tgz 上传到这个目录,

离线包在课件 里提供了 下载 harbor 离线包的地址: https://github.com/goharbor/harbor/releases/tag/

【2】解压

tar -zxvf harbor-offline-installer-v2.3.0-rc3.tgz cd harbor cp harbor.yml.tmpl harbor.yml vim harbor.yml

【3】修改配置文件:

hostname: harbor 

修改 hostname,可以自己定义不能用localhost, harbor23.com

协议用 https 

certificate: /data/ssl/server.crt  指向之前生成的证书

private_key: /data/ssl/harbor.key  指向之前生成的私钥

邮件和 ldap 不需要配置,在 harbor 的 web 界面可以配置 其他配置采用默认即可 修改之后保存退出 

注:harbor 默认的账号密码:admin/Harbor12345

【4】安装

安装 harbor 需要的离线镜像包 docker-harbor-2-3-0.tar.gz 在课件,可上传到 harbor 机器, 执行

docker load -i 解压

docker load -i docker-harbor-2-3-0.tar.gz 加载镜像

cd /data/install/harbor 

./install.sh 成功安装后会生成docker-compose文件

扩展: 

如何停掉 harbor:

cd /data/install/harbor

docker-compose stop 

如何启动 harbor: 

cd /data/install/harbor 

docker-compose start

如果 docker-compose start 启动 harbor 之后,还是访问不了,那就需要重启虚拟机

Harbor 图像化界面使用说明

在浏览器输入: https://harbor23.com

账号:admin 

密码:Harbor12345 

输入账号密码出现如下: 

所有基础镜像都会放在 library 里面,这是一个公开的镜像仓库 

新建项目->起个项目名字 test(把访问级别公开那个选中,让项目才可以被公开使用)

三、测试使用 harbor 私有镜像仓库

【1】修改 docker 配置

vim /etc/docker/daemon.json

{ "registry-mirrors": ["https://rsbud4vc.mirror.aliyuncs.com","https://registry.dockercn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hubmirror.c.163.com"], "insecure-registries": ["192.168.40.181","localhost"] 
}

【2】修改配置之后使配置生效

systemctl daemon-reload && systemctl restart docker

查看 docker 是否启动成功

systemctl status docker

显示如下,说明启动成功: 

Active: active (running) since Fri … ago

注意: 配置新增加了一行内容如下: "insecure-registries":["192.168.40.181"], 上面增加的内容表示我们内网访问 harbor 的时候走的是 http,192.168.40.181 是安装 harbor 机器 的 ip

【3】登录 harbor

docker login harbor23.com 

Username:admin 

Password: Harbor12345

【4】上传镜像

导入 tomcat 镜像,tomcat.tar.gz 在课件里

docker load -i tomcat.tar.gz

把 tomcat 镜像打标签

docker tag tomcat:latest 192.168.40.181/test/tomcat:v1 

执行上面命令就会把 192.168.40.181/test/tomcat:v1 上传到 harbor 里的 test 项目下

docker push 192.168.40.181/test/tomcat:v1 

执行上面命令就会把 192.168.40.181/test/tomcat:v1 上传到 harbor 里的 test 项目下

至此harbor私服能够正常使用

【5】机器上删除镜像

docker rmi -f 192.168.40.181/test/tomcat:v1

【6】拉取镜像

docker pull 192.168.40.181/test/tomcat:v1

四、问题汇总

1、docker login harbor23.com 

登录时报 x509: certificate signed by unknown authority;在需要登录的主机上配置

修改 sudo vi /etc/docker/daemon.json

{ "insecure-registries": [ "harbor23.com", "10.32.23.77" ], "registry-mirrors": [ "https://2wk9cvvl.mirror.aliyuncs.com" ] }

然后重启docker服务 service docker restart

2、docker网络问题,centos容器无法访问harbor23.com

vi /etc/hosts

将harbor23.com 指向host.docker.internal 地址

容器之间相互访问可以通过host.docker.internal 进行访问

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值