zoukankan      html  css  js  c++  java
  • [Kubernetes]CentOS7下搭建Harbor仓库

    环境依赖:

    Harbor仓库需要环境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上.
    CentOS7自带Python,所以不需要安装.
    关于Docker安装已经写过一篇博客:[Docker]CentOS7下Docker安装教程
    所以接下来说一说docker-compose.
    部署docker-compose(这里是以1.16.1版本为例,具体版本可以根据自己需要进行下载):

    curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    

    提权:

    chmod +x /usr/local/bin/docker-compose
    

    验证docker-compose是否部署成功:

     docker-compose --version
    

    在这里插入图片描述
    如上图,可以看到,我们已经成功部署docker-compose.

    在线安装Harbor及其相关配置

    为了方便寻找Harbor,将它安装在usr/local/src目录下,所以需要进入该目录:

    cd /usr/local/src
    

    下载相关gz包:

    链接地址: https://github.com/vmware/harbor/releases
    根据自己的需要,下载即可.本篇文章以下载v1.3.0为例,下载命令:
    wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.3.0.tgz
    下载完成之后,进行解压:
    tar -zxvf harbor-offline-installer-v1.3.0.tgz
    

    耐心等待解压完成即可.解压完成之后,进行以下操作:

    进入harbor目录:cd harbor
    修改配置文件:vi harbor.cfg
    配置文件中有hostname:hostname = 192.168.22.237
    #设置访问地址,可用ip,域名,不能使用127.0.0.1或localhost,在此设为192.168.22.237
    #如果设置为域名,记得在自己的hosts文件中做相应修改
    #在此只是示例,具体可根据自己需要
    harbor.cfg详细配置可参考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md#configuring-harbor
    修改相关内容之后,运行: ./prepare  进行更新参数操作
    

    但是需要注意,这个脚本有个坑.hostname =reg.xx.com默认的不能有,注释掉也不行.
    不要问我为什么知道这个,耗在这里耗了将近半个小时…
    配置文件中有关于Harbor的默认密码:
    在这里插入图片描述
    修改配置文件之后,即可启动,一条命令即可:

    ./install.sh
    

    如下图,Harbor正在启动:
    在这里插入图片描述
    如下图所示时,表示Harbor安装成功
    在这里插入图片描述
    此时,我们可以通过访问刚才设置的ip地址,访问到Harbor界面
    在这里插入图片描述
    输入默认账号:admin,密码:Harbor12345,可以看到管理界面:
    在这里插入图片描述
    在这个过程中,常用的命令就是停止和安装命令:

    docker-compose down -v   停止
    docker-compose up -d    启动
    
    可能出现的错误

    1,无法访问此页:造成的原因,可能没有把防火墙关闭,导致不能访问
    一条命令即可:

    临时关闭防火墙:systemctl stop firewalld 
    永久关闭防火墙: systemctl disable firewalld.service
    

    但是一般不建议把防火墙关掉.先写在这里,我后续再研究研究,看看都用到了哪儿些端口,等回来再更新

    2,查看日志时,发现错误:failed to connect to tcp://postgresql:5432
    解决办法:

    停止并删除docker容器:docker-compose down -v
    启动所有docker容器:docker-compose up -d
    

    3,在停止并删除docker容器时,发现错误:ERROR: network harbor_harbor has active endpoints
    解决办法:

    重启 Docker service:service docker restart
    

    4,在运行docker ps查看容器时,发现有好几个容器起不来
    在这里插入图片描述
    因为错误太多,每个我都不说了,大概解决思路就是去目录:/var/log/harbor查看相关服务的日志,一般日志里面都会有错误说明,跟着说明解决就OK.
    当所有的服务都起来之后,Harbor一般就可以起来了:
    在这里插入图片描述
    5,ERROR:Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-2add1a39bc5d -j RETURN: iptables: No chain/target/match by that name.
    (exit status 1)
    在这里插入图片描述
    出现这个问题的原因是因为,我是后来才关闭的防火墙,这个时候需要重启一下docker才生效.

    service docker restart 
    

    重启docker之后,再运行命令:

    ./install.sh
    

    问题解决.
    最后,虽然整个过程很艰辛,遇到了很多的错误,抓耳挠腮了许久,但是当你看到Harbor界面的时候,那种开心,会让你觉得,所有的付出都是值得的~

  • 相关阅读:
    gitlab搭建
    java数组
    安裝nextcloud
    Spring的定时任务@Scheduled(cron = "0 0 1 * * *")
    java内存结构(下)
    java内存结构(上)
    多线程的三个特性
    @RequestBody用法
    SwaggerAPI注解详解(转载)
    在jpanel中添加jbutton并自由设置按钮大小和位置
  • 原文地址:https://www.cnblogs.com/zll-0405/p/10786571.html
Copyright © 2011-2022 走看看