查看harbor github项目:https://github.com/goharbor/harbor
零、前置问题
安装centos完没有网络,解决办法:
1 | #修改配置文件 |
本地虚机安装了Centos 8.1 切换了阿里的镜像源:
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup |
切换不启动桌面:
1 | systemctl set-default multi-user.target |
一、准备
安装harbor的系统要求:
- Linux 系统
- docker 17.06.0-ce+ and docker-compose 1.18.0+
如果想要使用Kubernetes安装,官方有提供 Harbor Chart
首先安装docker
参照官方文档:https://docs.docker.com/engine/install/centos/
执行 :
1 | sudo yum install docker-ce docker-ce-cli containerd.io |
命令时出现错误
1 | CentOS-8 - AppStream 4.8 kB/s | 4.3 kB 00:00 |
查了一下是Centos8的原因,需要手动下载containerd.io安装一下
说明:containerd.io 是docker为了保持通用,将容器生命周期、存储管理、拉取/推送等分离出来的产物
手动下载:
1 | wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm |
下载完成后执行安装:
1 | yum install ./containerd.io-1.2.13-3.1.el7.x86_64.rpm |
然后继续安装docker:
1 | sudo yum install docker-ce docker-ce-cli |
又遇到了新的问题:
1 | Dependencies resolved. |
查了一下,执行如下命令修复:
1 | sudo yum remove podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch |
docker终于安装好了:
1 | [root@localhost ~]# docker -v |
二、安装harbor
下载harbor安装包:
1 | wget https://storage.googleapis.com/harbor-releases/release-2.0.0/harbor-offline-installer-v2.0.0.tgz |
harbor域名端口可以在解压后的harbor/harbor.yml配置,注释掉https相关内容(暂不启用https):
1 | hostname: reg.jianpage.com |
安装前启动docker:
1 | systemctl start docker |
执行harbor安装:
1 | ./install.sh |
提示docker-compose版本不对:
1 | ✖ Need to install docker-compose(1.18.0+) by yourself first and run this script again. |
手动下载安装docker-compose: https://github.com/docker/compose/releases
安装:
1 | mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose |
然后就安装成功了…………………..哪是不可能的……….
访问harbor地址一直显示nginx 502 ,查看log,harbor-core 没有启动成功,因为不能连接postgresql数据库,然后nginx也不能代理到后端的service,一直报不健康:
1 | [root@localhost harbor]# docker ps |
查了半天,试了重启,试了删除重新install 都没有效果,后来终于在harbor的issue中找到了解决办法:https://github.com/goharbor/harbor/issues/10206
原因应该是我使用了centos8的系统,看评论说ubuntu没有问题,解决办法,先停止docker-compose:
1 | sudo docker-compose stop |
再次查看harbor-core及nginx终于启动成功了,应该是防火墙的问题。
三、测试推送镜像
浏览器访问harbor登陆都没问题了(记得改host),因为前端为了省事把https关了,现在想要在client端访问要添加一下自己的harbor网址到配置了,否则会报错:
1 | Error response from daemon: Get https://reg.jianpage.com:8090/v2/: http: server gave HTTP response to HTTPS client |
Docker deamon.json修改(添加insecure-registries):
1 | { |
测试推送镜像(推送前先在页面创建ixx项目):
1 | docker login reg.jianpage.com:8090 |
推送完成后在页面可以看到镜像库中已经有 ixx/nginx镜像了
本文链接: http://blog.jisuye.com/2020/06/12/harbor-install/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!