harbor搭建及使用
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安装
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搭建及使用的更多相关文章
- 企业级镜像仓库harbor搭建
企业级镜像仓库harbor搭建 一. Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...
- Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库
搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...
- docker 私有仓库之Harbor搭建与使用
Harbor搭建 下载Harbor: http://harbor.orientsoft.cn/ #下载offline版本 配置Harbor tar xvf harbor-online-installe ...
- docker的私有化仓库harbor搭建
目前比较流行的docker私有化仓库是harbor,harbor是一个github开源的项目,直接在github上搜索即可,下载地址:https://github.com/goharbor/harbo ...
- 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库
目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...
- 企业级仓库harbor搭建
1.Harbor是什么? Harbor是Vmvare中国团队开发的开源registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务.在企业 ...
- 【K8S】基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)
写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 服务器规划 IP 主机名 节点 操作 ...
- harbor搭建与使用
前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub.由于我们的代码是要放到镜像里的,通过运行容器,便能获取我们的全部代码,风险很大.所以我们决定进行私有化的镜像部 ...
- Kubernets二进制安装(5)之私有仓库harbor搭建
在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...
随机推荐
- fastjson反序列化漏洞实际案例利用
fastjson反序列化rce实际案例利用全过程: 存在问题网站:http://***.com/ 在网站上寻找一些安全漏洞的时候,发现一条json数据包 数据包如下: POST /*** HTTP/1 ...
- BPM系统,工作流引擎,表单引擎常用30个功能与常见问题
1.1:支持国际化 如果使用工具包的模式开发,支持国际化的工作由自己完成的. 如果使用Ccbpm 的前端,主要的功能页面已经支持, 后台的设置的页面全部中文,没有做支持国际化. 1.2:能单独部署,微 ...
- Android NDK工程的编译和链接以及使用gdb进行调试
前提条件:已经安装了JDK 6.0.android SDK.NDK r9和eclipsele4.2开发环境. 推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载A ...
- Linux启动流程和服务管理(init和systemd)
目录 一:Linux启动流程 init和Systemd的区别 二:Linux服务管理(service,systemctl) 一:Linux启动流程 Rhel6启动过程: Rhel7启动过程: GRUB ...
- Day004 Scanner进阶
Scanner进阶 例1 Scanner scanner = new Scanner(System.in); //从键盘接收数据 int i = 0; float f = 0.0f; System.o ...
- python-文件操作练习-配置文件读取、修改、删除
文件操作练习:http://www.cnblogs.com/wupeiqi/articles/4950799.html global log 127.0.0.1 local2 daemon maxco ...
- XGBoost原理解析
摘要:对xgboost论文中的细节进行记录. 算法原理 系统设计 基于column block的并行 树学习最耗时的部分通常是对数据进行排序,为了降低排序带来的计算负荷,xgb使用基于block的结构 ...
- Markdown编辑器怎么用
Markdown编辑器怎么用 1.代码块 快速创建一个代码块 // 语法: // ```+语言名称,如```java,```c++ 2.标题 语法:#+空格+标题名字,一个#表示一级标题,两个#表示二 ...
- 从0开始fastjson漏洞分析2
从0开始fastjson漏洞分析https://www.cnblogs.com/piaomiaohongchen/p/14777856.html 有了前文铺垫,可以说对fastjson内部机制和fas ...
- CRM帮助B2B企业持续改善战略决策「下篇」
尽管数据早已深入人心,但依然有相当比率的B2B企业在管理和战略决策时依赖直觉而不是客户数据.不停变化的B2B市场表明了以客户为中心的趋向和格局,CRM客户管理系统能够协助您更好的使用客户数据并最大限度 ...