harbor私有镜像仓库部署
harbor私有镜像仓库部署
一、文档与下载
官方网址
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目录中。