• docker镜像仓库


    Hlarbor

    harbor是一个开源的云原生镜像仓库, 它允许仓库用户存储,使用docker镜像。可以将harbor看做是私有的dockerhub,它提供了更新安全性和控制性, 让组织能够安全的存储和管理镜像。

    harbor RBAC:基于角色访问控制),可以对不同的用户和用户组进行灵活全向控制,并且提供灵活的复制和同步策略,可以实现多个barbor实例的镜像的复制和同步。

    Hlarbor的构成

    proxy:nginx的前端代理,数据发送请求,会把请求转发给后端。

    registry:私有仓库,可以存储镜像,必须进行token认证才能使用。

    认证方式有三种:令牌,用户密码和ss1。

    Core services:提供图形化界面,可以实时获取image状态变化,提供token服务。

    Database(harbor-db):数据库。

    Job services:进行镜像复制。

    Log collector:负责收集其他组件的操作日志。

    Harbor 的每个组件都是以 Doker 容器的形式构建的,因此,使用 Docker Compose 来对它进行部署。总共分为7个容器运行。名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。

    Hlarbor工作流程

    docker私有仓库的过程

    1、所有的请求或认为的操作都会首先交给proxy (反向代理)。

    2、proxy 会先请求转发给后端 core services。

    3、core services包含 uI token(身份认证),webhook (网站的一些服务功能)。

    4、转发给reqistry (镜像存储),若需要下载镜像等权限操作,需要通过core services中token令牌的身份验证服务才行。

    5、每一次下载和上传都会产生操作记录,生成日志,保存在database中。

    6、database 记录保存镜像元信息及用户与组的身份信息,通过验证授权才能允许相关操作。

    Harbor 特性

    基于角色访问控制

    基于镜像的复制策略

    支持 LDAP/AD

    镜像删除和垃圾回收

    支持图形化界面

    审计管理

    支持restful API

    创建私有仓库

    1、下载 registry 镜像

    1. docker pull registry
    2. 添加私有镜像仓库地址
    3. systemctl restart docker.service
    4. 运行 registry 容器
    5. docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

    1. 为镜像打标签
    2. docker tag centos:7 192.168.11.11:5000/centos:v1
    3. 上传到私有仓库
    4. docker push 192.168.11.11:5000/centos:v1
    5. 列出私有仓库的所有镜像
    6. curl http://192.168.11.11:5000/v2/_catalog
    7. 出私有仓库的 centos 镜像有哪些tag
    8. curl http://192.168.11.11:5000/v2/centos/tags/list
    9. 删除原有的 centos 的镜像,再测试私有仓库下载
    10. docker rmi -f 8652b9f0cb4c
    11. docker pull 192.168.11.11:5000/centos:v1

    部署 Harbor

    1. 下载或上传 Harbor 安装程序
    2. wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
    3. tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
    4. 修改harbor安装的配置文件
    5. vim /usr/local/harbor/harbor.cfg
    6. --5行--修改,设置为Harbor服务器的IP地址或者域名
    7. hostname = 192.168.10.23
    8. --59行--指定管理员的初始密码,默认的用户名/密码是admin/Harbor12345
    9. harbor_admin_password = Harbor12345
    1. 启动 Harbor
    2. 查看 Harbor 启动镜像
    3. cd /usr/local/harbor/
    4. docker-compose ps

    浏览器访问:http://192.168.10.23 登录 Harbor WEB UI 界面,默认的管理员用户名和密码是 admin/Harbor12345

    1. 下载镜像进行测试
    2. docker pull nginx
    3. 将镜像打标签
    4. 格式:docker tag 镜像:标签 仓库IP/项目名称/镜像名:标签
    5. docker tag nginx:latest 127.0.0.1/myproject-kgc/nginx:v1
    6. 上传镜像到 Harbor
    7. docker push 127.0.0.1/myproject-kgc/nginx:v1

  • 相关阅读:
    GoLand软件编码区中出现英文输入异常解决方法
    电子章盖章软件怎么找?从需求、功能、成本、口碑四方面入手
    k8s中安装jenkins
    【web-攻击数据存储区】(6.2)SQL注入
    代码随想录笔记_哈希_454四数相加II
    Pytorch的学习
    H3C 交换机配置SSH
    十一、组合API(1)
    TestStand-创建VI
    StarUML6.0.1使用
  • 原文地址:https://blog.csdn.net/ffdtj/article/details/134011768