docker 仓库之分布式 Harbor:
Harbor 是一个用于存储和分发docker镜像的企业级Registry服务器,由于Vmware 开源,其通过添加一些企业必须的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。 作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry镜像构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复杂,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络管控,另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等,官网地址:https://vmware.github.io/harbor/cn/,官方 github 地址:
https://github.com/vmware/harbor
 
Harbor 功能介绍:
基于角色的访问控制:用户与docker镜像仓库通过"项目" 进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不通的权限。
镜像复制:镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
图形化用户界面:用户可以通过浏览器来流量,检索当前docker镜像仓库,管理项目和命名空间。
AD/LDAP 支:Harbor 可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。国际化:已拥有英文、中文、德文、日文和俄文的本机化版本。更多的语言将会添加进来。
RESTful API - RESTful API :提供给管理员对于 Harbor 更多的操控, 使得与其它管 理软件集成变得更容易。 部署简单:提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方 式)虚拟设备。
 
安装Harbor :
首先安装docker服务:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
选择版本进行安装,不选择版本默认安装最新版本的docker 19.03
yum install -y docker-ce-18.06.2.ce // 启动docker(启动后会自动生成/etc/docker目录,否则需要手动创建)
systemctl start docker && systemctl enable docker
yum makecache
下载 Harbor安装包:
cd /usr/local/src
wget https://github.com/vmware/harbor/releases/download/v1.2.2/harbor-offlineinstaller-v1.2.2.tgz
解压及安装全过程:
 tar xf harbor-offline-installer-v1.6.3.tgz
#ln -sv /usr/local/src/harbor /usr/local/harbor
mv harbor /usr/local/
cd harbor
将harbor文件中的hostname段改写为自己的本机IP(也就是harbor服务IP)

安装docker-compose:
yum install epel-release -y
yum install python-pip -y
yum install docker-compose -y
rpm -qa|grep docker-compose
docker-compose version #docker 默认是https加密方式访问,所有加上以下内容:
cat > /etc/docker/daemon.json <<EOF
{
"insecure-registries":["192.168.1.25"]
}
EOF
创建https证书以及配置相关目录权限(可选做)
mkdir /data/cert
#生成密钥key
openssl genrsa -des3 -out server.key 2048
#创建证书请求,server.csr
openssl req -new -key server.key -out server.csr
#备份以下密钥
cp server.key server.key.org
#转换成证书,退出密码
openssl rsa -in server.key.org -out server.key
#证书请求签名
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt chmod -R 777 /data/cert

安装:
./install
启动:
docker-compose start
到这里已经安装完成了harbor, 登录测试: 192.168.1.x默认端口80访问,用户:admin 密码:Harbor12345 默认harbor配置文件中设置的密码,可以自己改写:

harbor.cfg配置文件详解:
原来没注释的参数不要注释掉,否则下边一步不通过。留默认即可
hostname:配置主机名称,不可以设置127.0.0.1,localhost这样的主机名,可以是IP或者域名
ui_url_protocol:指定使用HTTP协议还是HTTPS协议
Email settings:邮箱设置,option配置,只在首次启动生效,可以登陆UI后修改
harbor_admin_password:设置管理员的初始密码,只在第一次登录时使用
auth_mode:用户认证模式,默认是db_auth,也可以使用ldap_auth验证。
db_password:使用db需要指定连接数据库的密码
self_registration:是否允许自行注册用户,默认是on,新版本可以在图形界面中修改。
max_job_workers:最大工作数,默认是10个
customize_crt:是否为token生成证书,默认为on
ssl_cert:nginx cert与key文件的路径, 只有采用https协议是才有意义
ssl_cert:nginx cert与key文件的路径, 只有采用https协议是才有意义
secretkey_path:The path of secretkey storage
admiral_url:Admiral's url, comment this attribute, or set its value to NA when Harbor is standalone
clair_db_password:未启用calir服务,但解压目录下的"./prepare"文件中要检查以下相关参数配置,不能注释,否则环境准备检查不能通过,报"ConfigParser.NoOptionError: No option u'clair_db_password' in section: u'configuration' "相关错误;或者在"./prepare"中注释相关检查与定义,但需要注意,文件中的关联太多,推荐修改"harbor.cfg"文件即可
ldap_url:ladp相关设置,如未采用ldap认证,但解压目录下的"./prepare"文件中要检查以下相关参数配置,不能注释,否则环境准备检查不能通过,报"ConfigParser.NoOptionError: No option u'ldap_timeout' in section: u'configuration' "相关错误;或者在"./prepare"中注释相关检查与定义,但需要注意,文件中的关联太多,推荐修改"harbor.cfg"文件即可
ldap_scope:
self_registration:默认开启自注册,off为关闭
token_expiration:token有效时间,默认30minutes
project_creation_restriction:创建项目权限控制,默认是"everyone"(所有人),可设置为"adminonly"(管理员)
verify_remote_cert:与远程registry通信时是否采用验证ssl
其他使用默认值
安装Harbor 时报错解决 :

上传下载镜像:
cat > /etc/docker/daemon.json <<EOF
{
"insecure-registries":["192.168.1.25"]
}
EOF 尝试登录:
[root@8s-etcd harbor]# docker login 192.168.1.25
Username: admin
Password:
Login Succeeded
注意每次push前需docker login 192.168.1.79确认是否已经登录了私有仓库,
push后需登出私有仓库。
如果push到公共项目必须登录admin账号才可以 上传镜像:
docker tag 6e30b06a90d3 192.168.1.25/xxx/tomcat-bbs
docker push 192.168.1.25/xxx/tomcat-bbs
下载镜像:
docker pull 192.168.1.25/xxx/tomcat-bbs xxx是harbor种创建的项目

docker 仓库-Harbor的更多相关文章

  1. docker仓库harbor镜像列表获取命令

    2019-03-14 搭建好docker仓库harbor之后,在服务器上获取harbor的所有镜像列表命令 curl -u "harbor账号:密码" -X GET -H &quo ...

  2. docker仓库harbor搭建

    1.安装docker-compose [root@docker02 ~]# yum install epel-release [root@docker02 ~]# pip install docker ...

  3. 企业级docker仓库Harbor部署

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

  4. docker仓库harbor搭建随笔

    docker除了自己的registry仓库工具外,还有vmware出品的harbor,harbor集成了ui界面,用户级别认证,重要的是对镜像管理比较全面,可以删除镜像,下面是 简单的部署指南 首先: ...

  5. 《Docekr入门学习篇》——Docker仓库harbor

    Harbor Harbor仓库介绍 我们在日常Docker容器使用和管理过程中,渐渐发现部署企业私有仓库往往是很有必要的, 它可以帮助你管理企业的一些敏感镜像, 同时由于Docker Hub的下载速度 ...

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

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

  7. Docker: 企业级镜像仓库Harbor的使用

    上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...

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

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

  9. Docker 私有仓库 Harbor registry 安全认证搭建 [Https]

    Harbor源码地址:https://github.com/vmware/harborHarbort特性:基于角色控制用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限.基于镜像的复 ...

  10. [Harbor]Docker登录Harbor仓库(HTTP方式)

    Docker登录到Harbor仓库时,不管是使用http协议还是使用https协议,都需要修改一些配置. 这篇文章来介绍一下,在使用http协议时,需要进行什么哪些配置. 首先,确定自己的Harbor ...

随机推荐

  1. 了解前端中的BFC(块级格式化上下文)

    BFC(块级格式化上下文) 什么是BFC 指的是一个块级渲染作用域,该区域内拥有一套完整的规则来约束块级盒子的布局,且与区域外部无关. 为什么要使用BFC 当一个盒子不设置高度,当其中的子元素都浮动时 ...

  2. Hexo博客yilia主题首页添加helper-live2d模型插件

    插件效果 插件的github地址 插件作者提供了较为详细的安装步骤,我结合自己操作和图示,提供大家. 效果展示:红框内为2d模型,可以随鼠标移动而变化 安装模块: hexo博客根目录选择cmd命令窗口 ...

  3. 超详细整合SSM框架--(Spring + Spring MVC + MyBatis)

    超详细整合SSM框架--(Spring + Spring MVC + MyBatis) 阅读该文章之前首先要清楚Spring框架,SpringMVC框架,Mybatis框架. SSM框架,是Sprin ...

  4. 2023年icpc大学生程序设计竞赛-wmh

    这次比赛名额比较少,程老师还是给了我们新生更多机会,非常感谢.第一次去这么远打比赛,也算是比较开心的,过去那天晚上就被队友拉着出去玩,玩的很嗨,打的很菜.vp去年题的时候是自信的,参加今年正式赛的时候 ...

  5. [爬虫]1.2.2 CSS选择器

    CSS (Cascading Style Sheets) 是一种样式表语言,用于描述HTML元素的样式.CSS选择器是CSS规则的一部分,它决定了CSS规则应用于哪些元素.在网络爬虫的开发中,我们经常 ...

  6. BTC中的数据结构

    BTC中的数据结构 普通指针 普通指针存储的是某个结构体在内存中的地址(假如P是指向一结构体的指针,那么P里面存放的就是该结构体在内存中的起始位置) Hash pointer(哈希指针) 对于如下的节 ...

  7. Mybatis操作数据库流程源码

    Java操作数据库需要经过3个大步骤: 获取数据库连接 执行SQL语句 关闭数据库连接 Mybatis将这几个步骤进行了封装,将获取数据库连接的给工作交给了SqlSessionFactory,将执行S ...

  8. next.js 源码解析 - getStaticProps、getStaticPaths 篇

    好久前写了关于 getStaticProps 和 getStaticPaths 的内容,然而半年过去了源码解析就一直忘记了,不久前有人提醒才想起来,补下坑. 本文主要是解读下 getStaticPro ...

  9. CVE-2023-2825-GitLab目录穿越poc

    Gitlab CVE-2023-2825 目录穿越漏洞 前言 昨天 GitLab 出了一个版本目录穿越漏洞(CVE-2023-2825),可以任意读取文件.当时我进行了黑盒测试并复现了该漏洞. &qu ...

  10. C#程序变量统一管理例子 - 开源研究系列文章

    今天讲讲关于C#应用程序中使用到的变量的统一管理的代码例子. 我们知道,在C#里使用变量,除了private私有变量外,程序中使用到的公共变量就需要进行统一的存放和管理.这里笔者使用到的公共变量管理库 ...