harbor私有镜像仓库部署

一、文档与下载

官方网址

https://goharbor.io/

harbor github下载

https://github.com/goharbor/harbor/releases

可下载离线安装包,进行安装。

二、依赖准备

2.1 安装docker+docker-compose

https://www.ywngo.com/index.php/archives/27/

harbor本身也是基于容器运行。

2.2 创建规划镜像存储空间(可选)

挂载NFS或添加磁盘并格式化,作为镜像存储空间。

/data/harbor-data
#将nfs或磁盘挂载

2.3 准备ssl证书(可选)

申请ssl证书,或使用自签名证书。docker默认情况下要求https连接到镜像仓库。

三、安装

1.安装前配置

tar -xf harbor-offline-installer-v2.6.1.tgz
#解压缩离线安装包

cd harbor && cp harbor.yml.tmpl harbor.yml
#复制配置文件

vim harbor.yml
#编辑配置文件

配置文件说明

hostname: reg.mydomain.com => harbor.example.com #修改为需要使用的域名
#如果没有dns则修改hosts文件实现域名解析。

http:
  port: 80 #控制台端口

https:
  certificate: /your/certificate/path #填写证书文件路径
  private_key: /your/private/key/path #填写key文件路径
#如果没有ssl证书,https块需要全部注释掉

harbor_admin_password: Harbor12345 #默认管理员密码,安装完成后可修改

data_volume: /data => #镜像数据文件存储目录,填写挂载的NFS或磁盘路径

执行安装

./install.sh --with-trivy
#执行安装,--with-trivy表示安装镜像扫描器。

[Step 0]: checking if docker is installed ...
[Step 1]: checking docker-compose is installed ...
[Step 2]: loading Harbor images ...
[Step 3]: preparing environment ...
[Step 4]: preparing harbor configs ...
[Step 5]: starting Harbor ...
✔ ----Harbor has been installed and started successfully.----
#安装完成

登陆访问harbor

默认用户名:admin

默认密码:Harbor12345

四、Docker配置

4.1 配置私有仓库

/etc/docker/daemon.json

{
  "registry-mirrors":["http://harbor.example.cc","https://lsu57d0u.mirror.aliyuncs.com"],
  "insecure-registries":["harbor.example.cc"]
}

#registry-mirrors里填写私有仓库地址。
#insecure-registries里填写允许的不安全的仓库。如果证书是有效的,这里不需要填写。

4.2 复制harbor服务器证书到docker

mkdir /etc/docker/certs.d/harbor.example.com -p
#创建harbor域名目录,存放*.crt证书
#将服务器证书复制到此目录内

docker login harbor.example.com
#登陆到harbor仓库

因为docker无法接受服务器发送的证书,所以需要手动将服务器端证书保存在docker中。如果未将服务器证书保存在docker中,即使证书是有效CA办法的证书也会提示错误无法登陆。在4.1中添加为不安全的镜像仓库,则可以不复制harbor服务器证书,建议复制证书。

4.3 docker 登陆仓库

docker login harbor.example.com
Username: admin
Password: 
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

五、管理

5.1 镜像存储

在harbor的data_volume中的registry目录中。

标签: none

添加新评论