docker-harbor仓库

Docker 镜像 容器 仓库

仓库:保存镜像

私有:自定义用户的形式登录仓库,拉取或者上传镜像(内部管理的用户)

Harbor:是VMware公司开发的,开源的企业级的docker register项目

帮助用户快速的搭建一个企业级的docker仓库的服务,同时支持中文

Harbor的特性:

  1. 基于角色进行控制,用户和仓库都是基于项目进行的,用户在每个项目当中可以拥有不同的权限
  2. 基于镜像,在不同的harbor实例之间进行复制
  3. Harbor自带一个数据库,AD/LDAP(类似于数据库中的表),用于对已存在的用户进行认证和管理
  4. 镜像删除和垃圾回收,仓库当中的镜像是可以被删除的(基于权限控制),也可以回收镜像占用的空间
  5. 有图形化界面的,用户可以直接通过浏览器来对镜像仓库进行管理
  6. 审计管理,所有对镜像仓库的操作,都可以被记录溯源
  7. 支持API操作,什么会是API呢,他是程序间的端口,应用和应用之间的端口,管理员k可以基于API调用接口,和更更多的其他的程序进行集成

Harbor的组件:

  1. proxy:安装完了harbor之后,他会自动生成一个nginx的容器,自动对外映射,也就是80端口,这里额的nginx的作用就是前端代理,在harbor当中,registry,UI,TOKEN,都在nginx的反向代理后面,通过nginx的代理,可以吧请求转发到后端不同的应用
  2. Registry:负责存储镜像,docker pull/push的命令都由其负责。用户进行访问控制,不同人的用户docker镜像有不同的读写权限,registry每次都会指向一个不同的TOKEN,强制用户每次pull/push,都必须带一个合法的token(公钥对),registry会通过公钥对,进行解密验证,身份合法才能指定操作
  3. CORE SERVIES: harbor的核心功能:提供三个服务:1,UI:提供图形化界面 2,webhook:仓库上所有镜像的变化(增删改),都会传送给webhook,以实现在UI界面上。3,token:签发每一次push和pull的公钥对,用来和仓库之间进行权限认证
  4. Database:自带的,会自带一个harbor-db, 为核心core services提供数据库存储服务,用户权限,审计日志docker镜像的分组和项目信息
  5. Job service:主要用于镜像的复制。本地镜像可以同步到远程harbor上
  6. Log collector(harbor-log):统一日志收集工具

Harbor都是基于docker容器化部署的,docker-compose一键编排,安装

实验环境:

Docker1:安装仓库20.0.0.61 docker-ce har-bor docker-compose

Docker2:客户端 20.0.0.62 docker-ce har-bor docker-compose

Docker3:安装仓库--实现远程同步20.0.0.63 docker-ce har-bor docker-compose

Docker1:

cd /uar/local/harbor

修改配置文件

33行修改密码

准备

./prepare

安装 ./install.sh

浏览器:20.0.0.61

内部界面

拉一个镜像

docker pull nginx:1.22.0

换一个标签

docker tag nginx:1.22.0 127.0.0.1/library/nginx:wang1

上传镜像

docker push 127.0.0.1/library/nginx:wang1

报错,显示没有登录

先登录,再上传

docker login -u admin -p 12345 http://127.0.0.1

创建用户:

docker login -u wangdefu -p Wdf123456 http://127.0.0.1

改标签

docker tag nginx:1.22.0 127.0.0.1/test/nginx:wang2

docker images

docker push 127.0.0.1/test/nginx:wang2

报错,没有权限

给权限

项目>用户>成员>新建成员

再次上传

docker push 127.0.0.1/test/nginx:wang2

角色的作用:

访客:只能看,只有读权限

开发者:可以有读写权限,但是没有删除权限

维护人员:读写权限,修改其他配置项的权限

项目管理人员:对该项目拥有所有权限

远程怎么办,先登录

docker login -u wangdefu -p Wdf123456 http://20.0.0.61

修改配置文件

cd /usr/lib/systemd/system

vim docker.service

systemctl daemon-reload

systemctl restart docker

再次登录

docker login -u wangdefu -p Wdf123456 http://20.0.0.61

首先拉取一个镜像

拉取一个阿里源镜像

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://t7pjr1xu.mirror.aliyuncs.com"]

}

EOF

改标签

docker tag logstash:latest 20.0.0.61/test/logstash:wang2

docker push 20.0.0.61/test/logstash:wang2

浏览器查看

如何实现仓库之间进行同步

Docker3

chmod 777 /usr/local/bin/docker-compose

浏览器访问

复制管理>新建规则

然后回到复制管理>新建规则

怎么复制如下

去项目当中查看

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 07:40:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 07:40:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 07:40:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 07:40:04       20 阅读

热门阅读

  1. 14.Spring2.7.x 整合 Elasticsearch7.17

    2023-12-15 07:40:04       36 阅读
  2. 【云原生kubernets】存储管理与应用

    2023-12-15 07:40:04       45 阅读
  3. Spring Boot 框架是如何运行和部署的?

    2023-12-15 07:40:04       41 阅读
  4. C++学习-2023/12/14-C++类和对象

    2023-12-15 07:40:04       32 阅读
  5. 计算机网络——习题——书上原题

    2023-12-15 07:40:04       24 阅读
  6. H3CIE_IS专题

    2023-12-15 07:40:04       29 阅读
  7. Android 13 - Media框架(22)- ACodec(四)

    2023-12-15 07:40:04       88 阅读
  8. bootstrap是什么

    2023-12-15 07:40:04       37 阅读