Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用于保存企业的私有镜像。
项目地址:https://github.com/goharbor/harbor
1.下载Harbor安装包
需要先安装docker
sudo apt install docker docker.io
下载harbor的安装包
可以使用官方提供的下载链接,不过这个是真的慢,找到需要的版本和系统,直接点击下载。
也可以从我的OSS下载,速度快很多:
wget https://louisyuan-cn.oss-cn-shenzhen.aliyuncs.com/harbor-offline-installer-v1.10.1.tgz
解压下载的文件:
tar -zxvf harbor-offline-installer-v1.10.1.tgz
cd harbor
2. 配置.yml文件
在之前的版本使用cfg文件来配置,这个版本中改成了yml 大同小异
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
# 改成访问你仓库的域名
hostname: reg.mydomain.com
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
## 证书存放的位置 给ssl验证使用
certificate: /your/certificate/path
private_key: /your/private/key/path
# Uncomment external_url if you want to enable external proxy
# And when it enabled the hostname will no longer used
# external_url: https://reg.mydomain.com:8433
# The initial password of Harbor admin
# It only works in first time to install harbor
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Harbor12345 ##这是登录的密码
3. 签发SSL证书(可选)
具有一个签发的ssl证书可以让你部署的仓库可以使用ssl访问,可以使用阿里云提供的SSL免费证书进行。
- 前往阿里云控制台购买证书
- 等待一段时间,邮箱会提示你证书签发完成,就可以去控制台点击下载证书按钮
- 下载证书,并且通过sftp或者scp的方式上传到服务器上
4. 运行Harbor
到这一步需要一个docker-compose 1.18以上的版本,由于官方的下载还是很慢,可以使用以下链接代替
# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
在harbor文件夹内运行
# ./prepare
# ./install.sh
安装完成后,它会提示你访问harbor的地址是多少,你就可以直接在浏览器中访问这个地址了
5. 使用Harbor镜像
测试上传镜像
docker login http://reg.louisyuan.cn
提示输入密码,就可以推送镜像了
docker push http://reg.louisyuan.cn/test1/nginx-alpine:v1
至此,搭建私有仓库完成。
6. 参考链接
https://www.cnblogs.com/wn1m/p/11284733.html
这篇总结文章在项目结束后一个半月才把坑填上,所以有些细节记得不太清了。很多该有的截图都没有提供到。