@author:zxw
@email:502513206@qq.com
@ Jishou University
1.前言
最近在学习docker相关知识,我们平常pull的镜像都是来自官方仓库提供的镜像。但是我们也需要自己独立的镜像仓库,就像每个公司都有一个公共的maven仓库一样,最后了解到Harbor是个开源的企业级私人镜像仓库,所以决定部署一套玩玩,顺便记录一下踩坑
2.搭建步骤
-
首先在harbor的github仓库上下载安装包
https://github.com/goharbor/harbor/releases/tag/v2.1.5
这边直接下载最新版选择harbor-offline-installer-v2.1.5.tgz
-
上传至Linux服务器,解压
tar -zxvf harbor-offline-installer-v2.1.5.tgz
-
解压后执行
cp harbor.yml.tmpl harbor.yml
,将模板文件复制一份出来 -
接着就是修改
harbor.yml
的配置文件了,执行vim harbor.yml
-
# hostname:填本机ip就行了 #因为在本机使用,所以将https都注释,不然会报错 # https related config #https: # https port for harbor, default is 443 # port: 443 # The path of cert and key files for nginx # certificate: /your/certificate/path # private_key: /your/private/key/path #harbor_admin_password: 设置为自己想要的密码 # external_url: 配置自己的域名映射地址,没有就不配,配置了该选项就会导致hostname失效
退出保存即可
-
修改
docker-compose.yml
文件,因为我本地已经启了一个nginx,所以将harbor上的nginx镜像端口映射为80,如果不需要就不用这步 -
执行
./prepare
自动生成文件 -
执行
./install.sh
或者docker-compose up -d
自此,环境搭建就完成了,可以直接通过hostname配置的地址在浏览器*问,登录。
3.问题答疑
3.1 修改了harbor.yml文件后如何生效
./prepare
docker-compose down -v
docker-compose up -d
3.2 修改了docker-compose.yml 文件后如何生效
docker-compose build
docker-compose up -d
3.3 如何上传镜像至harbor仓库
-
现在harbor网页上新建项目
-
进入仓库后选择推送命令按钮,在下放就可以看到推送的模板命令了,先指定tag,在push
-
docker login (你的harbor地址,账户密码就是你登录harbor的账户密码)
3.4 harbor的nginx配置了其它端口怎么登录
docker login 你的harbor地址:harbor的nginx端口
3.5 docker无法连接上harbor,报错https错误
vim /etc/docker/daemon.json
"insecure-registries":["你的harbor地址"]
因为本地是http访问,docker默认是https,所以加上上面的地址
3.6 docker连接harbor还是报404,被转发到80的nginx上去了
在harbor.yml中配置external_url
选项,在80的nginx上配置映射,转发到你harbor的nginx上