Centos7安装Docker镜像仓库Harbor1.5.3

Harbor 详细介绍

1、容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的 Registry 是非常必要的。

2、Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能,欢迎使用和反馈意见。

3、作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

1)基于角色的访问控制

用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

2)镜像复制

镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。

3)图形化用户界面

用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。

4)AD/LDAP 支持

Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。

5)审计管理

所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

6)国际化

已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。

7)RESTful API

RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。

8)部署简单

提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备

Harbor 架构介绍

Harbor在架构上主要由五个组件构成:

1、Proxy:

Harbor的registry, UI, token等服务,通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务。

2、Registry:

负责储存Docker镜像,并处理docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token服务,强制用户的每次docker pull/push请求都要携带一个合法的token, Registry会通过公钥对token 进行解密验证。

3、Core services:

这是Harbor的核心功能,主要提供以下服务:

1)UI:提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权。

2)webhook:为了及时获取registry 上image状态变化的情况, 在Registry上配置webhook,把状态变化传递给UI模块。

3)token 服务:负责根据用户权限给每个docker push/pull命令签发token. Docker 客户端向Regi?stry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进行请求。

4、Database:

为core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。

5、Log collector:

为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。
各个组件之间的关系如下图所示:

实验环境:

系统版本:centos7x3.10.0-514.el7.x86_64

Docker版本:1.13.1(yum安装)

harbor版本:harbor-offline-installer-v1.5.3.tgz(离线版)

注:由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不小于1.10.0,Docker-compose版本不小于1.6.0。

关闭防火墙并禁止开机自启

systemctl stop firewalld.service
systemctl disable firewalld

关闭selinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/sysconfig/selinux
重启 reboot

安装harbor

1、安装harbor依赖环境

1)安装docker

yum -y install docker

2)安装docker-compose

yum -y install docker-compose

2、下载离线安装包harbor-offline-installer-v1.5.3.tgz

1)使用下载命令wget或者aria2c下载harbor

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

2)解压harbor到本地

tar zxf harbor-offline-installer-v1.5.3.tgz

3)将解压目录移动到根下

mv harbor /

注:这一步操作是为了方便管理和防止误删除(可做可不做)!

3、添加CA证书

注:如果需要搭建基于https的harbor需要添加ca证书,如果搭建的是基于http可以跳过该步骤。

4、编辑harbor配置文件

1)编辑harbor.cfg文件

vi /harbor/harbor.cfg

#hostname设置访问地址。可以使用ip、域名、主机名,不可以设置为127.0.0.1或localhost。(如果部署的是备份库,填写ip而不是域名,否则会导致仓库管理连接失败,host无法识别原因不明)
hostname = bakreg.cn

#访问协议。默认是http,如果搭建https的仓库就改为https。
ui_url_protocol = https

#可选的https证书配置地址
ssl_cert = /root/cert/bakreg.cn.crt
ssl_cert_key = /root/cert/bakreg.cn.key

#用于在复制策略中加密或解密远程注册表的密码的密钥路径。secretkey_path不需要修改。如果必须修改它,你需要在/root/harbor/docker-compose.yml中手动调整路径,因为它们是硬编码。
secretkey_path = /data

#邮件设置,发送重置密码邮件时使用
#email_identity作为用户名
email_identity =
email_server = 邮箱的smtp服务器域名
email_server_port = 25
email_username =
email_password =
email_from =
email_ssl = false
email_insecure = false

#管理员admin的登录密码。默认是Harbor12345
harbor_admin_password = Harbor12345

#认证方式。默认是db_auth,支持多种认证方式,如数据库认证(db_auth)、LADP(ldap_auth)。
auth_mode = db_auth

#LDAP认证时配置项(这项可以登录后配置也可以)。
ldap_url = # LDAP URL
ldap_searchdn = # LDAP 搜索DN
ldap_search_pwd = # LDAP 搜索DN的密码
ldap_basedn = # LDAP 基础DN
ldap_filter = # LDAP 过滤器
ldap_uid = # LDAP 用户uid的属性
ldap_scope = 2
ldap_timeout = 5

#是否开启注册。on开启,off关闭。
self_registration = off

#Token有效时间。默认30分钟。
token_expiration = 30

#标记用户创建项目权限控制。默认是everyone(允许所有人创建),也可以设置为adminonly(只能管理员才能创建)
project_creation_restriction = everyone


注:暂时先更改这一行即可启动,其他功能按照需求更改!

5、启动harbor服务

1)进入harbor解压目录

cd /harbor/

2)启动harbor服务

./install.sh


3)harbor的启动和关闭方式

//关闭harbor服务(先进入harbor目录)

docker-compose stop

//开启harbor服务(先进入harbor目录)

docker-compose up -d

6、验证harbor服务是否正常运行

1)访问地址:http://192.168.150.199

2)使用默认用户密码登陆

注:默认的用户名admin,密码Harbor12345。

7、基于http协议的harbor上传下载镜像

1)docker登陆harbor

docker login 192.168.150.199

2)为镜像打标记

docker tag 原镜像名 192.168.150.199/项目名/打标记的镜像名

注:如果是普通用户推送镜像,切记需要普通用户先自己创建项目,不然上传给默认的library项目没有权限,只有admin用户有推送library项目的权利。

3)推送镜像到harbor仓库

docker push 192.168.150.199/项目名/打标记的镜像名

注:如果是普通用户推送镜像,那么以上的library项目名换成自己的项目名即可!

4)拉取镜像

//删除打标记的镜像

docker rmi -f 192.168.150.199/library/tomcat:v1

//拉取仓库的tomcat镜像

docker pull 镜像的完整路径

注:以上截图可能有的童鞋会问,不需要docker login IP登陆吗?首先我可以告诉你:可以用,也可以不用。其次如果你要是觉得需要用户密码下载,那么可以在harbor的项目上设置不公开即可实现用户密码下载;也可能有童鞋会说不用不够安全啥的,其实你完全不必担心,因为需要完整路径才能下载,而且这个镜像仓库是在内网,说白知道的都是公司的同事。如果不知道怎么填写完整路径,下载镜像的,那么就登录上网页harbor,然后点击你要下载的那个镜像后边pull命令提醒,例如:

5)docker退出harbor登陆

docker logout harbor的IP

8、基于https协议的harbor上传下载镜像

注:由于我使用的是http协议,所以这步就没有测试!如果想使用https协议
推荐文章https://www.cnblogs.com/straycats/p/8850693.html

原文地址:http://blog.51cto.com/13043516/2287267

时间: 2024-10-08 21:50:56

Centos7安装Docker镜像仓库Harbor1.5.3的相关文章

centos7 安装docker私有仓库

1.docker 的私服配置文件位置在 /usr/lib/systemd/system/docker.service #vim /usr/lib/systemd/system/docker.service 添加以下内容 2.重启docker systemctl restart docker 3.下载registry #docker pull registry:2 4.启动registry #docker run -d -ti --restart always --name docker-regi

Centos7配置docker本地仓库

内网环境创建docker仓库 实验环境 192.168.80.200 #不能上外网的docker仓库,centos7系统 192.168.80.100 #能上外网的Linux服务器,centos7系统 利用yum仓库安装docker服务 把docker的rpm包导入内网yum仓库中(docker软件包docker-ce,container-selinux) (下载地址:http://rpmfind.net/linux/rpm2html/search.php) 配置好本地yum仓库源(具体配置可看

Centos7安装Docker CE

原文:Centos7安装Docker CE 每次安装Docker都要去找文档,或者每次安装的都不一样,还是要好好管理自己的这些东西,下次用的时候可以省很多的时间 Docker的早期版本称为docker或docker-engine:现在的Docker CE软件包称为docker-ce ; 环境 Centos7 安装脚本 #!/bin/bash #filename: install_docker.sh #Version: v1.0.0 #Author: LiLe #Date: 20190306 #C

构建Docker镜像仓库的另一选择:Nexus3 - DockOne.io

我们知道,构建企业内部私有Docker镜像仓库有很多选择,比如可以采用原生的Docker Registry服务,也可以部署更加专业的工具,例如SUSE team的Portus (https://github.com/SUSE/Portus)或VMware出品的Harbor(https://github.com/vmware/harbor).我们也就曾对Harbor这样的产品做过较为详细的分析(http://mp.weixin.qq.com/s/oQoLgNgnfM8TQHnDDOOIog).然而

离线手动部署docker镜像仓库——harbor仓库(二)

前言: 在<离线手动部署docker镜像仓库--harbor仓库(一)>中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点. 实验环境:harbor服务器系统:CentOS Linux release 7.4.1708 (Core)harbor服务器IP:10.0.0.101harbor版本:v1.5.0docker版本:1.13.1另外为了测试pull镜像,使用了另一台test102机器:10.0.0.102 部署过程: 1.下

centos7安装docker并配置php运行环境

原文:centos7安装docker并配置php运行环境 一.安装docker 首先我们先来了解一下什么是docker. docker是一个虚拟化的技术,基于 Linux 内核,是将进程进行封装隔离,由于隔离的进程独立于宿主机和其它的隔离的进程,因此也可以称为容器.很多人把docker理解为虚拟机,其实不是的,因为它不需要进行硬件虚拟以及运行完整操作系统等额外开销的,docker的出现也是为了解决在各种复杂的环境下不需要做任何的修改还可以保证程序正常稳定的运行,也就是环境一致性的问题,当然还有k

docker镜像仓库(3)

目录 搭建镜像仓库 harbor基础 harbor使用 搭建镜像仓库 harbor基础 Docker镜像仓库自建仓库的必要性 默认第三方提供的镜像仓库在海外,例如https://hub.docker.com/,太慢了,所以我们要自己搭建 第三方镜像仓库一般不允许有太多的私有镜像 Harbor镜像仓库的搭建前提条件: 需要安装docker 需要有docker-compose Harbor离线版安装下载地址 下载离线安装的版本,上传到服务器,解压https://github.com/goharbor

CentOS7安装Docker,运行Nginx镜像、Centos镜像

1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum install docker 3.启动Docker,并将其设置为开机启动 (1)启动,systemctl start docker.service (2)开机启动,systemctl enable docker.service (3)帮助,docker --help (4)概要信息,docker info (5)镜像查看,docker images (6)容器查看,即进程查看,d

docker 镜像仓库的安装与使用

安装Docker Compose 解决依赖 [[email protected] ~]# curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose % Total % Received % Xferd Average Speed Time Time Time Cur