0
点赞
收藏
分享

微信扫一扫

docker 搭建 Harbor 仓库

1.介绍

Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。

作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

  • 基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
  • 镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
  • 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
  • AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
  • 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
  • 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
  • RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
  • 部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。

2.环境准备

需要提前安装 docker 、docker-compose 环境。

docker 安装参考地址​

docker-compose 安装参考​

3.Harbor 部署

wget https://github.com/goharbor/harbor/releases/download/v1.10.4-rc1/harbor-offline-installer-v1.10.4-rc1.tgz
tar -zxvf harbor-offline-installer-v1.10.4-rc1.tgz -C /usr/local/harbor

下载并解压 harbor 到 /usr/local/harbor 目录

修改 harbor.yml 

docker 搭建 Harbor 仓库_Harbor 仓库搭建

 修改 hostname 为自己部署 harbor 机器的 ip,port 为访问时的端口,默认为80。

harbor_admin_password: Harbor123 为 登录 harbor 的用户密码可以自己进行设置。默认用户名为 admin。

修改过配置文件之后,执行如下操作,会重新加载配置文件和下载所需要的镜像文件。

docker 搭建 Harbor 仓库_上传_02

  查询运行的镜像,默认会启动相关的镜像

docker 搭建 Harbor 仓库_tomcat_03

4.登录 harbor

docker 搭建 Harbor 仓库_上传_04

 5.新建项目

docker 搭建 Harbor 仓库_上传_05

 docker 搭建 Harbor 仓库_tomcat_06

6.镜像仓库配置

上传镜像需要先登录并且配置仓库地址,端口号默认80 可以省略

[root@localhost ~]# cat /etc/docker/daemon.json
{
"insecure-registries": ["192.168.243.128"],
"registry-mirrors": ["https://yy28v837.mirror.aliyuncs.com"]
}

docker 搭建 Harbor 仓库_tomcat_07

 该例子现实我已经登录成功了。

7.上传镜像

1 [root@localhost ~]# docker images
2 REPOSITORY TAG IMAGE ID CREATED SIZE
3 jenkinsci/blueocean latest 69b6d837d67b 8 days ago 562MB
4 docker-demo1 v2 c0c9606589ab 13 days ago 660MB
5 [root@localhost ~]# docker tag docker-demo1:v2 192.168.243.128/tomcat/docker-demo1:v2
6 [root@localhost ~]# docker images
7 REPOSITORY TAG IMAGE ID CREATED SIZE
8 jenkinsci/blueocean latest 69b6d837d67b 8 days ago 562MB
9 docker-demo1 v2 c0c9606589ab 13 days ago 660MB
10 192.168.243.128/tomcat/docker-demo1 v2 c0c9606589ab 13 days ago 660MB
11 [root@localhost ~]# docker push 192.168.243.128/tomcat/docker-demo1
12 The push refers to repository [192.168.243.128/tomcat/docker-demo1]
13 7888ed9320ad: Pushed
14 v2: digest: sha256:25f985faab246e50d271eb3734bcfcdb49dac31f599d511e05a19524bff89f4c size: 529
15 [root@localhost ~]#

8.查询上传的镜像文件

docker 搭建 Harbor 仓库_上传_08

9.拉取上传到 harbor 的镜像文件

拉取镜像的机器 需要配置 harbor 仓库地址,否则拉取报错,如下。

[root@localhost ~]# docker pull 192.168.243.128/tomcat/docker-demo1:v2
Error response from daemon: Get https://192.168.243.128/v2/: dial tcp 192.168.243.128:443: connect: connection refused

因为在 harbor 创建 tomcat 项目的时候,设置了项目权限,所以只要登陆之后才可以拉取镜像,如果未设置权限则不用登陆就可以拉取镜像。报错信息如下,

[root@localhost ~]# docker pull 192.168.243.128/tomcat/docker-demo1:v2
Error response from daemon: pull access denied for 192.168.243.128/tomcat/docker-demo1, repository does not exist or may require 'docker login'

拉取成功如下所示,

docker 搭建 Harbor 仓库_上传_09

  到此为止,搭建 harbor 以及上传镜像以及拉取镜像都已经完成了。

10.用户管理

项目中新增用户,如下所示。项目中新增用户之前需要在用户管理中先新增用户,否则项目中无法新增用户。

docker 搭建 Harbor 仓库_tomcat_10

 项目中新增用户成功之后,该用户可以在该项目中上传、拉取镜像操作,否则无法操作。

 

 

Harbor 官网:​​https://goharbor.io/​​

Harbor github:​​https://github.com/goharbor/harbor​​

举报

相关推荐

0 条评论