harbor搭建及使用

 

1 系统及软件版本

1.1 系统版本

# uname -a

Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

1.2 软件版本

1、 docker版本:18.06.1-ce

#docker -v

Docker version 18.06.1-ce, build e68fc7a

2、 docker-compose版本:1.23.1

# docker-compose version

docker-compose version 1.23.1, build b02f130

docker-py version: 3.5.1

CPython version: 2.7.5

OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017

3、harbor版本:1.5.0

2 安装依赖

2.1 Docker安装

请参考centos7安装dockerCE

2.2 docker-compose安装

1、 配置阿里的epel源

# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2、 安装Python-pip

# yum install python-pip -y

3、 升级Python-ppip

# pip install --upgrade pip

4、 安装docker-compose

# pip install docker-compose

5、查看docker-compose版本

# docker-compose -v
docker-compose version 1.23.1, build b02f130

3 安装harbor

3.1 下载安装包

1、 可以在网站上下载离线安装包。

地址:https://github.com/goharbor/harbor/releases

2、Linux服务器上可以直接下载1.5.0的离线安装包

# wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.0.tgz

2、 下载会很慢,可以从我的百度云下载

链接:https://pan.baidu.com/s/1I75uievCd4kVi0eIpXHkZQ
提取码:rz1u

3、 国内harbor离线版镜像

地址:http://harbor.orientsoft.cn/

3.2 上传解压

# tar -zxvf harbor-offline-installer-v1.5.0.tgz

# cd harbor

3.3 修改配置文件

Harbor的配置文件为harbor.cfg。此次配置我使用http访问。而不是https访问。所以可以不需要证书。

# cat harbor.cfg |grep -v ^$|grep -v ^#

_version = 1.5.0

hostname = [www.harbor2.com](http://www.harbor2.com) #需要写IP地址或者域名

ui_url_protocol = http

max_job_workers = 50

customize_crt = on

ssl_cert = /data/cert/server.crt #没有目录需要创建

ssl_cert_key = /data/cert/server.key #没有目录需要创建

secretkey_path = /data

admiral_url = NA

log_rotate_count = 50

log_rotate_size = 200M

http_proxy =

https_proxy =

no_proxy = 127.0.0.1,localhost,ui

email_identity =

email_server = smtp.mydomain.com

email_server_port = 25

email_username = sample_admin@mydomain.com

email_password = abc

email_from = admin <sample_admin@mydomain.com>

email_ssl = false

email_insecure = false

harbor_admin_password = 12345 #harbor登录密码

auth_mode = db_auth

ldap_url = ldaps://ldap.mydomain.com

ldap_basedn = ou=people,dc=mydomain,dc=com

ldap_uid = uid

ldap_scope = 2

ldap_timeout = 5

ldap_verify_cert = true

ldap_group_basedn = ou=group,dc=mydomain,dc=com

ldap_group_filter = objectclass=group

ldap_group_gid = cn

ldap_group_scope = 2

self_registration = on

token_expiration = 30

project_creation_restriction = everyone

db_host = mysql

db_password = root123

db_port = 3306

db_user = root

clair_db_host = postgres

clair_db_password = password

clair_db_port = 5432

clair_db_username = postgres

clair_db = postgres

uaa_endpoint = uaa.mydomain.org

uaa_clientid = id

uaa_clientsecret = secret

uaa_verify_cert = true

uaa_ca_cert = /path/to/ca.pem

registry_storage_provider_name = filesystem

registry_storage_provider_config =

3.4 安装并启动

安装之前需要启动docker

执行安装脚本

# ./install.sh

4 访问harbor web界面

启动完成后,可以直接访问安装harbor的IP地址。启动的是80端口。账号密码为:admin/12345(配置文件里修改过)

 
 

进入界面

 
 

5 使用harbor上传下载镜像

Docker执行本地登录操作

5.1 连接harbor

# docker login [www.harbor2.com](http://www.harbor2.com)

输入用户名admin/Harbor12345

Login Succeeded #显示此字段说明登录成功可以上传下载镜像

5.2 连接报错解决

5.2.1 报错内容

Error response from daemon: Get https://www.harbor2.com/v2/: dial tcp 10.10.8.113:443: connect: connection refused

5.2.2 报错分析

Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是我们搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

5.2.3 解决问题

一、 方法一

1、修改启动文件

# vi /usr/lib/systemd/system/docker.service
……
ExecStart=/usr/bin/dockerd --insecure-registry www.harbor2.com
#修改此处并且后边添加IP地址或者域名
……

2、重新启动docker

# systemctl daemon-reload
# systemctl restart docker

二、方法二

1、修改或添加配置

# cd /etc/docker/
# vi daemon.json
{
"insecure-registries" : ["www.harbor2.com"]
}

2、重新启动docker

# systemctl daemon-reload
# systemctl restart docker

5.3 上传镜像

5.3.1 Harbor上创建新项目供上传使用

 
 
 
 

5.3.2 Docker服务器给镜像打标签

[root@docker1 ~]# docker images

REPOSITORY TAG     IMAGE ID CREATED SIZE

tomcat 7.0.90 4cbf48630b46 6 weeks ago 195MB

# docker tag tomcat:7.0.90 www.harbor2.com/test/tomcat:7.0.90

# docker images

REPOSITORY TAG IMAGE ID  CREATED  SIZE

tomcat          7.0.90  4cbf48630b46 6 weeks ago 195MB

www.harbor2.com/test/tomcat 7.0.90 4cbf48630b46  6 weeks ago 195MB

5.3.3 上传

# docker push www.harbor2.com/test/tomcat:7.0.90

The push refers to repository [www.harbor2.com/test/tomcat]

9c2f1836d493: Mounted from common/centos

7.0.90: digest: sha256:20f32279b5e4801424c21f56c2f645fc2109d81bdc3cc6855e7e982b5d3d334b size: 529
 
 

5.4 下载镜像

5.4.1 删除本地镜像

# docker rmi tomcat:7.0.90

# docker rmi www.harbor2.com/test/tomcat:7.0.90

5.4.2 下载harbor上的镜像

# docker pull www.harbor2.com/test/tomcat:7.0.90

# docker images

REPOSITORY         TAG IMAGE ID CREATED SIZE

www.harbor2.com/test/tomcat 7.0.90 4cbf48630b46 6 weeks ago    195MB
 
 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 

harbor安装要求

harbor快速部署

下载harbor:https://github.com/goharbor/harbor/releases

这边以harbor-1.8.2为例

[root@gitlab home]# tar -xf harbor-offline-installer-v1.8.2.tgz

修改配置文件

必改项,其余的自己看着改

下载docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/sbin/docker-compose && chmod +x /usr/sbin/docker-compose

然后依次执行

启动完成后 登录harbor页面,默认用户名密码 admin/Harbor12345

登录页面后创建一个project测试下上传功能

修改docker启动的service

不然连接会报错

使用docker连接,上传一个镜像测试,输入自己的账户名密码。

登录成功后,上传一个镜像

harbor项目中有命令复制

先打tag,在上传,以我本机nginx为例

出现这个报错是因为没有给项目添加用户,本项目是用admin用户创建的,而我docker连接的是test用户,添加用户上传即可

在次上传

上传成功,harbor上查看

已成功上传。

文档参考:

  https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

  https://docs.docker.com/compose/install/

  

 
 

harbor搭建及使用的更多相关文章

  1. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  2. Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库

    搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...

  3. docker 私有仓库之Harbor搭建与使用

    Harbor搭建 下载Harbor: http://harbor.orientsoft.cn/ #下载offline版本 配置Harbor tar xvf harbor-online-installe ...

  4. docker的私有化仓库harbor搭建

    目前比较流行的docker私有化仓库是harbor,harbor是一个github开源的项目,直接在github上搜索即可,下载地址:https://github.com/goharbor/harbo ...

  5. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  6. 企业级仓库harbor搭建

    1.Harbor是什么? Harbor是Vmvare中国团队开发的开源registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务.在企业 ...

  7. 【K8S】基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)

    写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 服务器规划 IP 主机名 节点 操作 ...

  8. harbor搭建与使用

        前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub.由于我们的代码是要放到镜像里的,通过运行容器,便能获取我们的全部代码,风险很大.所以我们决定进行私有化的镜像部 ...

  9. Kubernets二进制安装(5)之私有仓库harbor搭建

    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...

随机推荐

  1. Servlet与Netty横向对比

    为什么要把这两个看起来不是很搭的东西放在一起对比呢?首先它们两个都是网络编程框架和规范,而且通过我的观察,从API的设计.生命周期方法.处理流程等等方面,他们确实有太多相似的地方了,如果想要深入地学习 ...

  2. HTML / CSS技巧 – 可滚动的 tbody(漂亮表格)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 从苏宁电器到卡巴斯基第11篇:我在苏宁电器当营业员 III

    积分换礼的是是非非 在苏宁购物是需要会员卡的(免费办理),我们需要利用这个会员卡来开单,顾客的消费可以换算成积分,贮存在会员卡里面.这个积分可以用于积分换礼,比如电磁炉.乐扣保鲜盒或者其它一些家用器具 ...

  4. JSONP跨域资源共享的安全问题

    目录 关于 JSONP 一.JSON 劫持 二.Callback 可定义导致的安全问题 三.其他文件格式( Content-Type )与 JSON 四.防御 摘自:http://blog.known ...

  5. UVA11174村民排队问题

    题意:      有n个人要排队,给你一些父子关系,要求儿子不能站在自己的父亲前面,问有多少种排队方式? 思路:       白书上的题目,首先我们可以把关系建成树,这样我们就有可能得到一个森林(或者 ...

  6. Windows PE变形练手1-用PE自己的机器码修改自己的逻辑

    PE变形练手1-用PE自己的机器码修改自己的逻辑 就是找一个PE文件,用自己的部分代码部分覆盖或者而修改自己另一个代码部分的补丁姿势(现实中使用很少,极少数破解可以用到.这次例子目的是了解PE). 第 ...

  7. shell中的引号和转义

    引号和转义 Bash 只有一种数据类型,就是字符串.不管用户输入什么数据,Bash 都视为字符串.因此,字符串相关的引号和转义,对 Bash 来说就非常重要. 转义 某些字符在 Bash 里面有特殊含 ...

  8. Day004 顺序结构

    顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行. 顺序结构是最简单的算法结构. 语句与语句之间,是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它 ...

  9. unapp一键登录

    一.整理思路 un-app官网提供多种实现[一键登录](https://uniapp.dcloud.net.cn/uniCloud/univerify "")的方法,这里的选择是 ...

  10. windows性能计数器搜集方法

    windows性能计数器搜集方法 PerfMon-Windows性能监视器是个好东西,可以辅助我们分析发生问题时间段服务器资源占用情况,但是部署性能计数器确实一个相当麻烦的事情,往往这种枯燥的事别人还 ...