Harbor私有镜像仓库部署

Harbor是由 VMWare 公司开源的容器镜像仓库。
Harbor内容包括:

  • 镜像仓库权限控制
  • 镜像远程同步复制
  • 大规模镜像发布
  • 镜像删除和空间回收
    Docker容器生命周期图
    图片.png

    镜像仓库权限
    测试人员通常只需要镜像的读权限(pull)
    开发人员需要读写权限(push/pull)
    项目经理除了拥有开发人员的权限之外,还可以增加和删除项目成员,设定他们的角色
    镜像远程同步复制
    可以配置两台harbor做同步复制
    大规模镜像发布
    图片.png

    镜像删除和空间回收
    Docker命令没有提供Registry镜像删除功能,日积月累,将会产生许多无用的镜像,占用大量存储空间。若要删除镜像并回收空间,需要调用docker registry API来完成,比较麻烦。Harbor提供了可视化的镜像删除界面,可以逻辑删除镜像。在维护状态下可以回收垃圾镜像的空间。
    实战应用【在线部署】
    下载地址https://github.com/goharbor/harbor/releases
    图片.png

    服务器需要事先安装好docker相关组件
    yum -y install docker-compose
    tar -zxf harbor-online-installer-v2.0.0.tgz
    cp harbor.yml.tmpl harbor.yml
    编辑harbor.yml,如果本地80端口已被占用,修改http端口,https默认是开启的
    图片.png

    执行install.sh脚本,最后提示安装成功,即为正常
    图片.png

    图片.png

    如果修改配置,重启harbor
    cd /opt/harbor
    docker-compose down
    ./prepare
    docker-compose up -d
    默认登陆密码在harbor.yml中
    图片.png

    登陆默认有一个library项目,新建一个
    图片.png

    图片.png

    把服务器上的nginx镜像上传到harbor
    打标签
    图片.png

    docker tag nginx:latest 172.16.20.52:8080/rancher_harbor/nginx:latest
    将运行的容器打包成镜像的命令:
    docker commit -a="joychen" -m="test nginx v1" 9c5c8560ec32 172.16.20.52:8080/library/nginx-alpine:v1
    -a :打包人 -m:描述 容器名 打包后的版本
    图片.png

    登录harbor
    docker login http://172.16.20.52:8080
    上传
    docker push 172.16.20.52:8080/rancher_harbor/nginx:latest
    提示如下错误,是由于docker默认使用的https协议,需要做信任
    新建/etc/docker/daemon.json
    {
    "insecure-registries": ["172.16.20.52:8080"]
    }
    重启docker,再次上传
    图片.png

    图片.png

    在其他服务器上拉取镜像
    docker pull 172.16.20.52:8080/rancher_harbor/nginx:latest
    图片.png

你可能感兴趣的:(Harbor私有镜像仓库部署)