Harbor介绍
Harbor是Vmvare团队开发的开源企业级registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务。
项目地址:https://github.com/vmware/harbor

环境说明:

ip地址: 10.20.9.223
系统版本: CentOS Linux release 7.3

1、关闭防火墙:

#systemctl disable firewalld.service
#systemctl stop firewalld.service

2、设置主机名:

#hostnamectl --static set-hostname  docker-Harbor-registry

3、安装docker:

# yum install docker -y

4、安装compose

Harbor是通过docker的compose项目部署的,需要安装compose,幸好compost 在git上提供了安装指令:

# curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# chmod +x /usr/local/bin/docker-compose   #设置执行权限
# docker-compose --version #查看安装是否程成功
docker-compose version 1.18., build 8dd22a9

5、Harbor软件安装

#wget http://harbor.orientsoft.cn/harbor-v1.3.0-rc4/harbor-offline-installer-v1.3.0-rc4.tgz
解压文件
#tar -zxf harbor-offline-installer-v1.3.0-rc4.tgz -C /usr/local

#解压后的文件夹是harbor

解压完成后:修改配置文件harbor.conf,主要就是hostname修改

此处我们只修改hostname=10.20.9.223(私有仓库主机ip)

安装

[root@docker-Harbor-registry harbor]# ./install.sh 

he configuration files are ready, please use docker-compose to start the service.

Creating harbor-log ... done
[Step ]: checking existing instance of Harbor ... Creating registry ... done
Creating harbor-ui ... done
Creating network "harbor_harbor" with the default driver
Creating nginx ... done
Creating harbor-db ...
Creating registry ...
Creating harbor-adminserver ...
Creating harbor-ui ...
Creating nginx ...
Creating harbor-jobservice ... ? ----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at http://10.20.9.223.
For more details, please visit https://github.com/vmware/harbor . [root@docker-Harbor-registry harbor]#

此时我们可以在浏览器中输入:http://10.20.9.223进入harbor web管理后台,默认的帐号密码是admin, Harbor12345(如果你没有修改harbor.cfg中的harbor_admin_password)

6、查看是否启动成功(执行命令要切换到harbor的安装目录执行,本例中为/usr/local/harbor):

[root@docker-Harbor-registry harbor]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up
harbor-db /usr/local/bin/docker-entr ... Up /tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:->/tcp
harbor-ui /harbor/start.sh Up
nginx nginx -g daemon off; Up 0.0.0.0:->/tcp, 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
registry /entrypoint.sh serve /etc/ ... Up /tcp
[root@docker-Harbor-registry harbor]#

使用命令行登录harbor镜像仓库时,报错如下:

[root@docker-Harbor-registry harbor]# docker login 10.20.9.223
Username: admin
Password:
Error response from daemon: Get https://10.20.9.223/v1/users/: dial tcp 10.20.9.223:443: getsockopt: connection refused
[root@docker-Harbor-registry harbor]#

解决方案:修改docekr文件参数

# vim /etc/sysconfig/docker 添加如下参数:

OPTIONS='--insecure-registry=10.20.9.223'

或者修改/etc/docker/daemon.json文件也可以

vim /etc/docker/daemon.json
{ "insecure-registries":["10.20.9.223"] }

或者修改 /usr/lib/systemd/system/docker.service即可,三者选其一即可.

ExecStart=/usr/bin/dockerd-current \
--add-registry=10.20.9.223 --insecure-registry=10.20.9.223
#在ExecStart=/usr/bin/dockerd-current出添加-add-registry和--insecure-registry参数.

使用docker info验证:

执行:

# docker info

输出最后一行有:

Registries: 10.20.9.223 (insecure), docker.io (secure)

重启docker服务

# systemctl daemon-reload
# systemctl restart docker.service

重启harbor服务

[root@docker-Harbor-registry harbor]# docker-compose restart

再次登录

[root@docker-Harbor-registry harbor]# docker login 10.20.9.223
Username: admin
Password:
Login Succeeded
[root@docker-Harbor-registry harbor]#

至此Harbor仓库部署完成,Harbor web访问访问也是正常的.

二、推送测试:将本地镜像推送到docker私有仓库:

1、向Harbor推一个镜像:

.首先登录Harbor的web界面并创建一个项目common.org
需要把项目设为公开
然后把需要上传的镜像命名为 ip:端口/项目名/镜像名:版本号 必须谨记。

2、查看本地的镜像:

[root@docker-node ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest a8a59477268d weeks ago MB
docker.io/nginx latest ae513a47849c weeks ago MB
docker.io/centos latest e934aafc2206 weeks ago MB

3.给centos镜像打tag:

# docker tag docker.io/centos:latest 10.20.9.223/common.org/centos7:latest

4、推送至Harbor:

[root@docker-Harbor-registry ~]# docker push 10.20.9.223/common.org/centos7:latest
The push refers to a repository [10.20.9.223/common.org/centos7]
43e653f84b79: Pushed
latest: digest: sha256:191c883e479a7da2362b2d54c0840b2e8981e5ab62e11ab925abf8808d3d5d44 size:
[root@docker-Harbor-registry ~]#

5、登录Harbor web页面查看common.org项目下的镜像,如果common.org目录下存在centos7镜像,则说明推送成功.

三、从Harbor私有仓库上拉取一个镜像到客户机.

如果其他主机要拉取harbor仓库的镜像,也需要修改docker的配置文件,添加如下参数即可,并重启服务,其中ip为harbor仓库的地址.

# vim /etc/sysconfig/docker

OPTIONS='--insecure-registry=10.20.9.223'

在客户端机器登陆harbor服务器,如果认证成功,即可以上传下载.

[root@dockr-client~]# docker login 10.20.9.223
Username (admin): admin
Password:
Login Succeeded
[root@dockr-client~]#

执行拉取镜像命令:

[root@docker-node ~]# docker pull 10.20.9.223/common.org/centos7:latest
Trying to pull repository 10.20.9.223/common.org/centos7 ...
latest: Pulling from 10.20.9.223/common.org/centos7
Digest: sha256:191c883e479a7da2362b2d54c0840b2e8981e5ab62e11ab925abf8808d3d5d44
Status: Image is up to date for 10.20.9.223/common.org/centos7:latest
[root@docker-node ~]#

如果想查看harbor仓库的有哪些镜像,直接在http://10.20.9.223/harbor 界面就可以搜索到镜像列表.

参考文档:    

  https://blog.csdn.net/cuipengchong/article/details/68496627
  http://www.cnblogs.com/netsa/p/8124708.html
  https://www.cnblogs.com/hh2737/p/7483855.html
  https://www.cnblogs.com/Javame/p/7389093.html

docker开源仓库Harbor部署笔记的更多相关文章

  1. docker 镜像仓库 Harbor 部署 以及 跨数据复制

    docker 镜像仓库 Harbor 部署 跨数据复制 Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目 它主要 提供 Dcoker Registry 管理 ...

  2. 企业级Docker镜像仓库Harbor部署与使用

    yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...

  3. Docker私有仓库Harbor部署与使用

    一.harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 由下面几个组件组成: proxy:nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载 ...

  4. Docker镜像仓库Harbor部署

    一.Harbor组件 组件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql数据库 harbor-jobservice 负责镜像复制 harbor-log 记录 ...

  5. 离线手动部署docker镜像仓库——harbor仓库(HTTPS)

    实验环境: harbor服务器系统:CentOS Linux release 7.5.1804 (Core)harbor服务器IP:10.1.12.114harbor版本:v1.5.0docker版本 ...

  6. Docker镜像仓库Harbor之Swagger REST API整合配置

    转载自:https://cloud.tencent.com/developer/article/1010618 1.Swagger 介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和 ...

  7. 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像

    ❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...

  8. 企业级docker仓库Harbor部署

    1.安装环境下载离线安装包地址https://github.com/vmware/harbor/releases/yum install -y dockerpip install -i https:/ ...

  9. Docker镜像仓库Harbor搭建及配置

    一.harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distribut ...

随机推荐

  1. 我的 Sublime Text 2 笔记

    作为aptana死忠粉的我,最近由于工作需要最近开始使用sublime,初次使用,就被其秒开的启动速度,简洁的界面设计,无干扰的信息提示所这幅. 俗话说,工欲善其事必先利其器,作为码农,在开始编码之前 ...

  2. Problem D: 指针函数

    Description YHZ自认为很聪明的人, 在C语言课上老师布置了一个作业,让能求正方形和圆的面积, 正当YHZ要跃跃欲试的时候, 老师却要求使用函数指针来实现这个功能,YHZ立马就不会了,他现 ...

  3. 将python文件加入到python的环境变量中

    在python中,把一个python文件加入到python环境变量中,以方便其他python文件调用.有两种方式,下面对其进行简单的介绍 方式一: 导入系统自带的sys模块,然后将文件的路径进行追加或 ...

  4. spring cloud:Edgware.RELEASE版本中zuul回退方法的变化

    Edgware.RELEASE以前的版本中,zuul网关中有一个ZuulFallbackProvider接口,代码如下: public interface ZuulFallbackProvider { ...

  5. SpringMvc+Mybatis+Maven+Mysql做一个CRUD的简单例子

    本文档结合 SpringMVC. Mybatis. MySQL,说明如何实现一个简单的数据库单表 CRUD操作.开发工具使用集成了spring mvc的eclipse(Spring Tool Suit ...

  6. Revit API PickPoint过滤条件

    //过滤选择,加上过滤条件,没有看出来差别. [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] publ ...

  7. Gson 与 fastJson 在使用上的差异(fastJson的优点)

    一.android 常用的json解析方式 Android 开发上常用的json解析方式有:Gson, fastJson,jackson. 因为jackjson jar包会比较大点(700+k),Gs ...

  8. [Aaronyang] 写给自己的WPF4.5 笔记12[自定义控件-AyImageButton的过程 2/4]

     我的文章一定要做到对读者负责,否则就是失败的文章  ---------   www.ayjs.net    aaronyang技术分享 博文摘要:点击前往文章正文 学会怎样给用户提供事件接口,本例子 ...

  9. javascript promises powered by BlueBird

    什么是promises? 为什么需要promises? 参见: https://promisesaplus.com/ 使用示例: 使用promises之前,代码的编写方式: 使用promises之后: ...

  10. 爬虫 需要什么样的 CPU,内存 和带宽

    所有的需求都看这个图片吧,这个就是我爬取一个网站所用的服务器和服务器资源的消耗情况.