harbor镜像仓库的安装http版

1.harbor官网:harbor官网
2.harborgithub: harborgithub
3.下载harbor安装包:
harbor查看最新版本安装包
在这里插入图片描述
4.将下载的安装包上传至目标主机并解压

#如果tar未安装,先安装tar
yum install -y tar
#解压并复制
tar -xvf harbor-online-installer-v2.1.3.tgz
#复制到/user/local/目录
cp -r harbor /usr/local/

5.进入/usr/local/harbor/目录下,编辑harbor.yml配置文件,该文件需从harbor.yml.tmpl复制修改,hotstname为自己的ip或域名,在此不启用https,所以将https相关配置先注释掉
在这里插入图片描述

6.在运行install.sh前确保已经安装docker和docker-compose
7.运行安装脚本

./install.sh

8.运行过程中,需要下载镜像,很多时候会出现连接超时,即已下载部分镜像,但有报错,如下图:
在这里插入图片描述
在这里插入图片描述
即连接远程仓库下载时超时了。
解决办法:
1.退出当前安装,继续执行./install.sh,让其继续下载镜像,已下载的不会再重复下载
2.更改docker镜像仓库为阿里云镜像加速仓库,再重新执行安装脚本

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你自己的.mirror.aliyuncs.com"]
}
EOF
#重启docker
systemctl restart docker

9.镜像下载完成会自行安装,完整镜像如下:
在这里插入图片描述
启动成功后查看启动的容器:
在这里插入图片描述

10.harbor默认的端口为80,安装完直接访问,一下为我自己的主机ip
http://192.168.56.108/
用户名:admin
密码:Harbor12345
在这里插入图片描述
11.登陆测试,本次测试是再安装harbor机上进行测试
在这里插入图片描述
报错原因,docker默认是使用https去登陆镜像仓库的,此时配置daemon.json文件配置一下内容
解决办法:

#停用已启用的harbor,如果测试不是harbor的安装机则停掉其它应用
docker-compose stop 
#编辑docker配置文件
vi /etc/docker/daemon.json
#将当前机器的ip配置为不安全的仓库地址
{
 "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.56.108"]
}
#重启docker
systemctl restart docker

12.再次进行登陆,登陆成功
在这里插入图片描述
13.镜像推送与拉取测试
harbor新建项目test-repo
在这里插入图片描述
下载nginx镜像做测试

#下载nginx镜像
docker pull nginx
#为镜像打标签
docker tag nginx 192.168.56.108/test-repo/nginx:v1
#将镜像推送至harbor
docker push 192.168.56.108/test-repo/nginx:v1

在这里插入图片描述
14.harbor管理charts
具体参考官网:Managing Helm Charts

关于安装v2.3.0版失败,解决方法:
1.问题描述:第一次在centos上安装harbor正常安装,正常使用,但是推送镜像时必须要https,但是我又不想配https,就在docker加了下信任文件,然后重启docker,然后就是启动不了了,如下:
在这里插入图片描述
2.看到db一直在重启,所以首先查看db的日志,日志放哪里,看docker-compose.yml里面有,默认是放 /var/log/harbor/
进去查看postgresql.log,看报什么错:

Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: initdb: error: directory "/var/lib/postgresql/data/pg13" exists but is not empty
Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: If you want to create a new database system, either remove or empty
Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: the directory "/var/lib/postgresql/data/pg13" or run initdb
Jul  1 15:22:42 192.168.64.1 postgresql[3039866]: with an argument other than "/var/lib/postgresql/data/pg13".
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: ls: cannot access '/var/lib/postgresql/data': Operation not permitted
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: The files belonging to this database system will be owned by user "postgres".
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: This user must also own the server process.
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: The database cluster will be initialized with locales
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   COLLATE:  en_US.UTF-8
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   CTYPE:    en_US.UTF-8
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   MESSAGES: C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   MONETARY: C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   NUMERIC:  C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]:   TIME:     C
Jul  1 15:22:45 192.168.64.1 postgresql[3039866]: The default text search configuration will be set to "english".

因为我之前单独安装过postgresql,所以那个目录不为空吗,其实我也不确定:
然后我干了以下几件事:
1.创建了postgres用户,并授予了all权限
2.编辑/etc/profile,添加导出export LANG=en_US.UTF8

# 查看
env | grep -e LANG -e LC_ALL
# 修改/etc/profile加上
export LC_ALL=en_US.UTF8
export LANG=en_US.UTF8

3.重启还不行
然后重装,更改harbor.yml文件时,将db的目录改下,不要使用/data
在这里插入图片描述
重装./install.sh后,成功,执行该启动文件后,将会根据harbor.yml配置的值生成docker-compose.yml文件

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值