查看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 国际许可协议 进行许可。转载请注明出处!