前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Harbor 镜像仓库部署

Harbor 镜像仓库部署

作者头像
星哥玩云
发布2022-09-15 21:29:02
8310
发布2022-09-15 21:29:02
举报
文章被收录于专栏:开源部署开源部署

一、创建自签证书:

1.1、准备工作

  • 检查是否已经安装 openssl: openssl version
  • 创建存放证书目录并进入目录
代码语言:javascript
复制
[root@zutuanxue ~]# mkdir /opt/harbor-ca-key
[root@zutuanxue ~]# cd /opt/harbor-ca-key

1.2、创建秘钥

生成私钥

代码语言:javascript
复制
[root@zutuanxue harbor-ca-key]# openssl genrsa -des3 -out server.pass.key 2048

# genra	生成RSA私钥
# -des3	des3算法
# -out server.key 生成的私钥文件名
# 2048 私钥长度
# 设置密码,密麻麻长度不能少于4位

去除私钥中的密码

代码语言:javascript
复制
[root@zutuanxue harbor-ca-key]# openssl rsa -in server.pass.key -out server.key

# 有密码的私钥是server.pass.key,没有密码的私钥是server.key

生成CSR(证书签名请求)

代码语言:javascript
复制
[root@zutuanxue harbor-ca-key]# openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=bj/L=bj/O=zutuanxue/OU=zutuanxue/CN=www.zutuanxue.com"

subj参数说明如下:

/C=国家
/ST=省
/L=城市
/O=组织或企业
/OU=部门
/CN=域名或IP

第四步:生成自签名SSL证书

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

# -days 证书有效期

# X.509证书包含三个文件:key,csr,crt。

# key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密

# csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名

# crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息

# 在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。

二、部署 Harbor

准备工作

  • Harbor 离线安装包
  • docker-compose

2.1、部署前准备

解压 Harboe 离线安装包后,进入解压后的目录,编辑 harbor.yaml 文件

  • 修改 hostname 字段,改为自己的主机名
代码语言:javascript
复制
	hostname: www.zutuanxue.com
  • 修改 certificate 与 private_key 字段如下,修改为你自己环境下的证书存放目录:
代码语言:javascript
复制
  certificate: /opt/harbor-ca-key/server.crt
  private_key: /opt/harbor-ca-key/server.key
  • 修改 harbor_admin_password 字段,设置管理员用户的密码
代码语言:javascript
复制
默认密码为 Harbor12345 ,如果配置文件内保持了默认密码的话,可以在搭建完成后在 web 页面进行密码修改操作。

2.2、安装Harbor

在解压后的 Harbor 目录内,有 “prepare” 初始化文件以及 ”install.sh“ 安装文件,先执行初始化操作 ./prepare 初始化完成以后执行安装操作 ./install.sh 然后等待安装完成即可。

代码语言:javascript
复制
[root@zutuanxue Harbor]# ./prepare
[root@zutuanxue Harbor]# ./install.sh

2.3、验证Harbor仓库

使用docker客户端连接Harbor仓库,验证是否能够正确连接

设置仓库URL 因为我们使用的是自签证书,所以我们要在需要进行 docker login 的节点上编辑 daemon.json 文件,添加信任,否则话我们将无法正常进行 docker login 的操作:

代码语言:javascript
复制
[root@zutuanxue Harbor]# vim /etc/docker/daemon.json

添加内容如下:

{

"insecure-registries": ["https://www.zutuanxue.com"]

}

保存退出,重启 docker 服务即可。
[root@zutuanxue docker]# systemctl restart docker 

如果你 hostname 字段设置的是域名,记得在 /etc/hosts 文件内添加解析,示例如下:

代码语言:javascript
复制
vim /etc/hosts
192.168.1.150	www.zutuanxue.com

添加完成后保存退出即可。

登录验证

代码语言:javascript
复制
完成后可以进行验证:

docker login www.zutuanxue.com

Username:admin
Password:Harbor12345

输入完密码后显示如下信息

Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

证明登录成功。

同样,如果你想 web 登录进行管理,那么你需要修改你宿主机的 hosts 文件,在里面添加对应的解析条目

MAC 系统设置

代码语言:javascript
复制
打开终端 → sudo vim /etc/hosts → 添加 IP 与 域名 的解析即可

Windows 系统设置

代码语言:javascript
复制
1、打开计算机后,点击进入C盘,找到 windows 文件夹
2、在windows文件中找到System32 → drivers → etc ,进入到 etc 文件夹中就能看到 hosts 文件
3、在末尾添加对应解析即可,然后保存退出

添加完解析后,打开浏览器,输入我们设置的域名即可访问,因为我们使用的是自签证书,所以浏览器会有安全提示,说我们访问的网站不安全,直接无视该信息,点击继续访问即可,然后输入我们的用户名 admin 密码 Harbor12345 即可成功登陆。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、创建自签证书:
    • 1.1、准备工作
      • 1.2、创建秘钥
      • 二、部署 Harbor
        • 2.1、部署前准备
          • 2.2、安装Harbor
            • 2.3、验证Harbor仓库
            相关产品与服务
            容器镜像服务
            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档