阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Harbor 镜像仓库部署

99次阅读
没有评论

共计 2553 个字符,预计需要花费 7 分钟才能阅读完成。

一、创建自签证书:

1.1、准备工作

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

1.2、创建秘钥

生成私钥

[root@zutuanxue harbor-ca-key]# openssl genrsa -des3 -out server.pass.key 2048 # genra 生成 RSA 私钥 # -des3 des3 算法 # -out server.key 生成的私钥文件名 # 2048 私钥长度 # 设置密码,密麻麻长度不能少于 4 位

去除私钥中的密码

[root@zutuanxue harbor-ca-key]# openssl rsa -in server.pass.key -out server.key # 有密码的私钥是 server.pass.key,没有密码的私钥是 server.key

生成 CSR(证书签名请求)

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

2.2、安装 Harbor

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

[root@zutuanxue Harbor]# ./prepare [root@zutuanxue Harbor]# ./install.sh

2.3、验证 Harbor 仓库

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

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

[root@zutuanxue Harbor]# vim /etc/docker/daemon.json

添加内容如下:{"insecure-registries": ["https://www.zutuanxue.com"]

}

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

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

vim /etc/hosts 192.168.1.150 www.zutuanxue.com 添加完成后保存退出即可。

登录验证

完成后可以进行验证: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 系统设置

打开终端 → sudo vim /etc/hosts → 添加 IP 与 域名 的解析即可

Windows 系统设置

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

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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-06-09发表,共计2553字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中