• 09-Harbor企业级镜像仓库安装部署


      Harbor是VMware公司开源的一个企业级Docker Registry项目,项目地址:https://github.com/goharbor/harbor 。

      Harbor作为一个企业级私有Registry服务器,提供了更好的性能和安全,提升了用户使用Registry构建和运行环境传输镜像的效率。虽然Harbor和Registry都是私有镜像仓库的选择,但是Harbor的企业级特性更强,因此也是更多企业级用户的选择。

      Harbor实现了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制,也常常和K8S中的namespace结合使用。此外,Harbor还提供了图形化的管理界面,我们可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

     

    1.下载离线安装包

    这里选择版本为1.7.0,下载完成后传输到你的服务器上并解压:
    sudo wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz
    sudo tar xf harbor-offline-installer-v1.7.0.tgz

    2.安装好docker-compose来管理harbor的容器服务。

    使用GitHub源
    curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    验证一下:
    docker-compose --version

    3.在解压的harbor目录中编辑harbor.cfg文件,修改一下hostname,其它的可以先不做配置:

    hostname = 172.16.14.112

     4.修改完配置接下来在harbor目录下执行以下命令:

     ./prepare

    5.然后再执行install这个shell脚本进行install:

    ./install.sh

    出现successfully就表示安装成功了。

     

    6.查看容器都正常启动了:

    docker-compose ps

     

     

    7.在浏览器输入http://172.16.14.112访问harbor,使用默认配置密码登录之后,可以看到如下管理界面:

     

    8.新创建用户hejp:

     

     

    9.创建一个test测试项目:

     

    10.在另外一台客户机器上面推送镜像,先配置好信任来源,走http推送

    编辑/etc/docker/daemon.json文件,添加harbor服务器ip:
    {
            "insecure-registries" : [ "172.16.14.112" ]
    }

    11.把要推送的镜像打个tag

    docker tag 172.16.14.112:5000/nginx:2.1 172.16.14.112/test/nginx:2.1

    12.使用刚刚的hejp用户登录,然后执行推送镜像命令。

    docker push 172.16.14.112/test/nginx:2.1

    13.查看推送到harbor镜像:

     

    14.在其他docker主机中把镜像pull下来,也是要先登录然后再执行pull命令

    docker login 172.16.14.112
    docker pull 172.16.14.112/test/nginx:2.1

    15.退出我们的私有仓库

    docker logout 172.16.14.112

    16.如果想要继续更改harbor.cfg.配置,那么改完后需要重新初始化Harbor:

    docker-compose down -v # 暂停Harbor实例群
    ./prepare  # 生成配置文件,根据 harbor.cfg 配置生成docker-compose文件。
    docker-compose up -d  # 后台启动Harbor实例群

    17.想要暂停和重启Harbor:

    docker-compose  stop # 暂停 Harbor
    docker-compose  start # 启动 Harbor

    18.不用Harbor了,那么可以彻底删除Harbor的数据和镜像文件:

    # 彻底地删除 Harbor 的数据和镜像
    rm -r /data/database
    rm -r /data/registry

    遇到的问题1:执行install.sh

    后很多报错,很多容器无法启动。兼容问题, 之前用的是1.10版本,降低版本到1.7就正常了。

     

    遇到的问题2:安装完成后,登录一直显示账号密码报错,查看容器adminiserver一直在重启。

     

     

    解决办法: /data目录下的secret文件都删除掉,应该是之前高版本harbor创建的,导致现在的harbor无权限访问这些文件。重启后然后服务就正常了。

     

  • 相关阅读:
    Ubuntu 12.10 安装破解sublimetext 2
    封装一个类型转换的方法
    【转】CultureInfo中重要的InvariantCulture
    C# 36进制转10进制
    用泛型的IEqualityComparer<T>接口去重复项
    关于wamp启动是80端口被占用的问题详解(win7系统下WAMP 80端口被MicrosoftHTTPAPI/2.0占用的解决办法)
    Ubuntu 更改鼠标滚轮速度
    edge ctrl+c 复制不起作用
    centos 7 mysql8 安装和卸载
    Windows Terminal 终端 SSH连接centos7 linux
  • 原文地址:https://www.cnblogs.com/hejianping/p/13098298.html
Copyright © 2020-2023  润新知