Docker搭建Harbor公开仓库的方法示例

上一篇博文讲到了Registry私有仓库,今天配置一下Harbor仓库,Harbor呢可以作为公开仓库,也可以作为私有仓库,今天就来配置一下Harbor如何实现公开仓库和私有仓库。

关于Registry公开仓库请访问博文:部署Docker私有仓库Registry

Registry和Harbor的区别

  • Registry:是一个私有镜像仓库,图形化支持较差,小型企业使用;
  • Harbor:支持可视化管理,支持私有仓库和公有仓库,支持镜像的管理控制;

Docker Harbor的优点

  • VMWare公司的开源镜像管理解决方案;
  • 支持图形化管理;
  • 方便访问和配置;
  • 方便镜像访问控制;
  • 支持镜像负责策略;
  • 审计统计用户访问镜像使用情况;

Docker Harbor依赖的程序

  • Python;
  • 安装Docker;
  • Docker Compose;

一、搭建Harbor仓库

案例描述:

两台CentOS7.4,一台服务器端,一台客户端(测试使用);

两台服务器都要安装Docker服务,我这里Docker版本是19.03.9版本;

关于Docker容器的安装请访问:安装Docker.v19。03.9版本

1、配置Docker Compose

访问道云官网,找到安装Docker Compose,复制命令到Docker服务器端:道云

[root@centos01 ~]# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
<!--下载Docker Compose-->
[root@centos01 ~]# chmod +x /usr/local/bin/docker-compose <!--Docker Compose添加执行权限-->
[root@centos01 ~]# docker-compose -v   <!--查看Docker Compose版本-->
docker-compose version 1.25.5, build 8a1c60f6

2、配置Docker Harbor公开仓库

1)打开Github官网

打开Github官网搜索harbor,再点击goharbor/harbor,再点击“releases”,根据自己所需,下载相应的版本,上传至服务器(网址如下:https://github.com/goharbor/harbor/releases 也可下载在线安装的包,我没试过,可自行尝试),如下:

2)配置Harbor仓库

harbor-online-installer-v1.9.1.tgz  <!--上传Harbor压缩包-->
[root@centos01 ~]# tar zxvf harbor-online-installer-v1.9.1.tgz -C /usr/local/
  <!--解压缩harbor到/usr/local/目录-->
[root@centos01 ~]# cd /usr/local/harbor/  <!--进入Harbor目录-->
[root@centos01 harbor]# cp harbor.yml harbor.yml.bak <!--备份Harbor主配置文件-->
[root@centos01 harbor]# vim harbor.yml  <!--修改Harbor主配置文件-->
 5 hostname: 192.168.100.10   <!--修改为Docker服务器端IP地址即可-->
<!--hostname可以写域名,不过域名还需要更改hosts文件或者安装DNS,我这里就用IP地址-->
 8 http:   <!--采用http协议-->
10 port: 80  <!--80端口号-->
27 harbor_admin_password: Harbor12345  <!--默认密码,可以自定义-->
[root@centos01 harbor]# ./install.sh   <!--安装Harbor-->
[Step 0]: checking installation environment ...

Note: docker version: 19.03.9

Note: docker-compose version: 1.25.5
………………  <!--此处省略部分内容-->
Creating harbor-log ... done
Creating registryctl ... done
Creating redis   ... done
Creating harbor-portal ... done
Creating registry  ... done
Creating harbor-db  ... done
Creating harbor-core ... done
Creating nginx    ... done
Creating harbor-jobservice ... done

✔ ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://www.benet.com .
For more details, please visit https://github.com/goharbor/harbor .
   <!--安装完成出现以上代码表示成功-->
[root@centos01 ~]# vim /usr/lib/systemd/system/docker.service <!--编辑此配置文件-->
14 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.100.10:80
 <!--定位到此行,后面添加“--insecure-registr”以便指定Harbor的IP及其监听端口-->
[root@centos01 harbor]# systemctl daemon-reload   <!--守护进程方式运行docker-->
[root@centos01 harbor]# systemctl restart docker    <!--重新启动Docker服务-->
[root@centos01 harbor]# docker-compose stop    <!--停止所有容器-->
[root@centos01 harbor]# docker-compose start     <!--启动所有容器-->
[root@centos01 harbor]# netstat -anptu |grep 80 <!--监听80端口-->
tcp6  0  0 :::80     :::*     LISTEN  23473/docker-proxy

3)安装完成浏览器访问Harbor仓库

4)创建一个公开仓库

5)确保image公开仓库已经创建成功

6)Docker服务器端登录Harbor仓库

[root@centos01 ~]# docker login -uadmin -pHarbor12345 192.168.100.10:80 <!--登录Harbor仓库-->
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded  <!--出现此提示表示登录成功-->
[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:80/image/nginx:nginx
   <!--修改镜像标签-->
[root@centos01 ~]# docker push 192.168.100.10:80/image/nginx:nginx
  <!--上传镜像到Harbor仓库-->
[root@centos01 ~]# docker logout 192.168.100.10:80 <!--Docker服务器退出Harbor-->
Removing login credentials for 192.168.100.10:80

7)Harbor查看镜像是否上传成功

3、配置Docker客户端

<!--Docker客户端安装Docker服务-->

1)修改配置文件加载Docker Harbor服务器
[root@centos02 ~]# vim /usr/lib/systemd/system/docker.service <!--编辑此配置文件-->
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.100.10:80
 <!--定位到此行,后面添加“--insecure-registr”以便指定Harbor的IP及其监听端口-->
[root@centos02 ~]# systemctl daemon-reload  <!--守护进程运行docker-->
[root@centos02 ~]# systemctl restart docker  <!--重新启动docker服务-->
[root@centos02 ~]# docker login -uadmin -pHarbor12345 192.168.100.10:80
   <!--docker客户端登录Harbor-->
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded <!--登录成功-->
[root@centos02 ~]# docker pull 192.168.100.10:80/image/nginx:nginx
 <!--docker客户端下载Harbor公开仓库中的镜像-->
[root@centos02 ~]# docker images  <!--查看Docker客户端镜像-->
REPOSITORY     TAG     IMAGE ID   CREATED    SIZE
192.168.100.10:80/image/nginx nginx    1b6b1fe7261e  7 days ago   647MB

4、创建Harbor私有仓库

1)创建私有仓库

2)创建一个用户

3)将刚创建的private用户添加到private私有仓库中

4)上传镜像到Harbor私有仓库

[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:80/private/tomcat:tomcat
  <!--Docker服务器修改镜像标签-->
[root@centos01 ~]# docker login -uprivate -pHarbor12345 192.168.100.10:80
   <!--登录Harbor私有仓库-->
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded <!--登录成功-->
[root@centos01 ~]# docker push 192.168.100.10:80/private/tomcat:tomcat
  <!--上传镜像到private私有仓库-->

5)Harbor查看镜像是否上传成功

6)Docker客户端下载私有仓库中的镜像

[root@centos02 ~]# docker login -uprivate -pHarbor12345 192.168.100.10:80
  <!--Docker客户端登录Harbor私有仓库-->
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded <!--登录成功-->
[root@centos02 ~]# docker pull 192.168.100.10:80/private/tomcat:tomcat
   <!--Docker客户端下载Harbor私有仓库中的镜像-->
[root@centos02 ~]# docker images <!--Docker客户端查看镜像是否下载成功-->
REPOSITORY     TAG     IMAGE ID   CREATED    SIZE
192.168.100.10:80/image/nginx  nginx    1b6b1fe7261e  7 days ago   647MB
192.168.100.10:80/private/tomcat tomcat    1b6b1fe7261e  7 days ago   647MB

7)Harbor支持日志统计功能

到此这篇关于Docker搭建Harbor公开仓库的方法示例的文章就介绍到这了,更多相关Docker搭建Harbor公开仓库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker 搭建私有仓库(registry、harbor)

    为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的. 利用registry快速搭建 https://hub.docker.com/_/registry/ Run a local registry: Quick Version $ docker run -d -p 5000:5000 --restart always --name registry registry:2 Now, use it from within Docker: $ docker pull

  • Docker私服仓库Harbor安装的步骤详解

    Harbor安装那里还是很简单,就是在Docker Login那里掉坑里去了,搞半天,写博客的时候,又重新安装了一遍 1.准备两台服务器 centos7 harbor 10.19.46.15 client 10.19.44.31 2.harbor需要安装docker和docker-composere,client只需要安装docker Docker安装 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-m

  • docker私库Harbor的架构与组件说明

    这篇文章来了解一下harbor架构的组成和运行时各个组件的使用方式. 架构 容器信息 [root@liumiao harbor]# docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------------------------------ harbor-adminse

  • 详解基于Harbor搭建Docker私有镜像仓库

    什么是 Harbor? 第一次使用这个的时候是刚进公司处理的第一个任务的时候,发现 Harbor 就是一个用于存储和分发 Docker 镜像的企业级Registry 服务器. 网上找到一个 Harbor 的架构图: Harbor 是 VMware 公司开源的企业级 DockerRegistry 项目,项目地址为 https://github.com/vmware/harbor.其目标是帮助用户迅速搭建一个企业级的 Docker registry 服务.它以 Docker 公司开源的 regist

  • Docker搭建私有仓库(registry与Harbor)的实现

    随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的. 私有仓库最常用的就是registry.Harbor两种,那接下来详细介绍如何创建私有仓库. 一.搭建registry私有仓库 1)案例描述 两台docker服务器,dockerA创建registry私有仓库,dockerB用于测试! 2)案例实例 (1)DockerA服务器的操作 [r

  • Docker搭建Harbor公开仓库的方法示例

    上一篇博文讲到了Registry私有仓库,今天配置一下Harbor仓库,Harbor呢可以作为公开仓库,也可以作为私有仓库,今天就来配置一下Harbor如何实现公开仓库和私有仓库. 关于Registry公开仓库请访问博文:部署Docker私有仓库Registry Registry和Harbor的区别 Registry:是一个私有镜像仓库,图形化支持较差,小型企业使用: Harbor:支持可视化管理,支持私有仓库和公有仓库,支持镜像的管理控制: Docker Harbor的优点 VMWare公司的

  • Docker搭建私有镜像仓库的方法

    和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库. 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 现在Docker用处越来越多了,所以今天就想着搭建一个私有镜像仓库来维护内部我们自己的镜像. 环境 CentOS 7.x Docker 1.12.6 安装 docker-

  • 基于docker搭建redis-sentinel集群的方法示例

    1.概述 Redis 集群可以在一组 redis 节点之间实现高可用性和 sharding.在集群中会有 1 个 master 和多个 slave 节点.当 master 节点失效时,应选举出一个 slave 节点作为新的 master.然而 Redis 本身(包括它的很多客户端)没有实现自动故障发现并进行主备切换的能力,需要外部的监控方案来实现自动故障恢复. Redis Sentinel 是官方推荐的高可用性解决方案.它是 Redis 集群的监控管理工具,可以提供节点监控.通知.自动故障恢复和

  • 使用Docker搭建ELK日志系统的方法示例

    以下安装都是以 ~/ 目录作为安装根目录. ElasticSearch 下载镜像: $ sudo docker pull elasticsearch:5.5.0 运行ElasticSearch容器: $ sudo docker run -it -d -p 9200:9200 -p 9300:9300 \ -v ~/elasticsearch/data:/usr/share/elasticsearch/data \ --name myes elasticsearch:5.5.0 特别注意的是如果使

  • docker 搭建Mysql集群的方法示例

    docker基本指令: 更新软件包 yum -y update 安装Docker虚拟机(centos 7) yum install -y docker 运行.重启.关闭Docker虚拟机 service docker start service docker stop 搜索镜像 docker search 镜像名称 下载镜像 docker pull 镜像名称 查看镜像 docker images 删除镜像 docker rmi 镜像名称 运行容器 docker run 启动参数 镜像名称 查看容

  • Docker快速搭建Redis集群的方法示例

    什么是Redis集群 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能. 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都处于一个只包含自己的集群当中,要组建一个真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群. 集群配置 配置文件 下载配置文件:https://raw.githubusercontent.com/antirez/redis

  • Docker容器harbor私有仓库部署和管理

    目录 前言 一.Harbor概述 二.Harbor的特性 三.Harbor的构成 四.Harbor私有仓库搭建 (1)安装docker-compose (2)安装harbor (3)新建项目 (4)镜像推送 (5)从私有仓库下载镜像 (6)Harbor管理 前言 之前我们搭建了本地私有仓库,但是本地仓库的管理和使用比较麻烦,个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化. 一.Harbor概述 Harbor是VMware公司开源的企业级Docker Regist

  • Docker 搭建 Tomcat 运行环境的方法

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 1 Docker与虚拟机   2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: # uname -r 2.2 安装Docker # yum install d

  • linux通过挂载系统光盘搭建本地yum仓库的方法

    1.挂载光盘 [root@localhost ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /dev下的cdrom目录是事先创建好的 2.修改yum配置文件(文件位置:/etc/yum.repos.d) [root@localhost /]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# mkdir bak #创建一个文件夹来存放多余的配置文件 [root@l

  • 清理本地Maven仓库的方法示例

    1.清理target mvn clean -U 2.清理该项目依赖的本地仓库中的maven包 mvn dependency:purge-local-repository 这个命令会清理pom.xml中的包,并重新下载,但是并不清理不在pom.xml中的依赖包. 下面的扩展: mvn dependency:purge-local-repository -DreResolve=false reResolve是否重新解析依赖关系 mvn dependency:purge-local-repositor

随机推荐