Harbor 私有镜像仓库搭建(可用于 gitlab CI/CD)
安装
下载安装包,可以在“Harbor Releases”查看更多版本
wget https://github.com/goharbor/harbor/releases/download/v2.15.0-rc3/harbor-offline-installer-v2.15.0-rc3.tgz解压缩
tar -zxvf harbor-offline-installer-v2.15.0-rc3.tgz && rm -f harbor-offline-installer-v2.15.0-rc3.tgz配置 harbor,编辑
harbor.ymlcd harbor && cp harbor.yml.tmpl harbor.yml vi harbor.yml搜索
http related config并将端口号修改为一个不被占用的端口,例如:8080# http related config http: port: 8080搜索
https related config并将端口号修改为一个不被占用的端口,例如:5443,将证书填入对应的配置# https related config https: port: 5443 certificate: /your/certificate/docker.mydomain.pem private_key: /your/private/key/docker.mydomain.key- 修改配置中的
harbor_admin_password,这是默认账户admin的登陆密码(这个账户也可以用来 push 和 pull)
安装
./install
配置域名
编辑 nginx 配置,设置代理转发(端口
5443要与上面harbor.yml配置的 https 端口保持一致)proxy_pass https://127.0.0.1:5443;如需 https 方式访问可以参考《Let's Encrypt的https证书申请及安装(nginx)》,不要使用 CloudFlare 的证书,因为他们的 CDN 对于每个请求(
request body)的大小有限制,一旦超出就会中断传输,在镜像上传、下载过程中很容易超出限制,若请求超过限制,Cloudflare 将返回 413 Request Entity Too Large 错误。
关于 CloudFlare 请求大小限制如下:- Free / Pro 计划:最大 100 MB
- Business 计划:最大 200 MB
- Enterprise 计划:默认 500 MB
访问
此时可以使用
ip:端口(5443)或者域名来进行访问 web 了,下面是仓库的一些操作:# 登录私有镜像仓库 docker login https://docker.mydomain.com:5443 # 构建镜像 -t 代表镜像名称, . 代表了`Dockerfile`位置) docker build -t my-app:v1.0 . # 为镜像标记 TAG docker tag my-app:v1.0 docker.mydomain.com:5443/test/my-app:v1.0 # 将镜像推送到远程私有镜像仓库 docker push docker.mydomain.com:5443/test/my-app:v1.0 # 拉取远程私有镜像仓库中的镜像 docker pull docker.mydomain.com:5443/test/my-app@sha256:xxx
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭