Docker仓库管理Harbor安装部署

Harbir简介

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

官网地址:http://vmware.github.io/harbor/index_cn.html

官方github地址:https://github.com/vmware/harbo

Habor的官方功能介绍

​ 基于角色的访问控制 - 用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。​ 镜像复制 - 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。图形化用户界面 - 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。AD/LDAP 支持 - Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。RESTful API - RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。部署简单 - 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。

Habor的安装部署

1、安装dokcer

yum install docker -y

2、启动docker,并设置为开机启动

systemctl enable docker
systemctl  start  docker

3、安装python-pip,git

yum install python-pip -y
yum install git -y 

4、下载harbor离线源码包并解压。

https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
tar -zxvf harbor-offline-installer-v1.1.2.tgz

5、初始化配置, 配置文件为harbor.cfg

cd harbor

vi harbor.cfg

修改harbor配置文件 harbor的安装包可以在github上下载。我使用的是harbor 1.1.2版本:harbor-offline-installer-1.1.2.tgz,下载安装包后解压后的目录结构如下(下文中的命令默认都在这个目录下执行):

文件夹下面有一个harbor.cfg的配置文件。这个配置文件里面有很多配置项,各项的说明可以参考github的说明文档,我主要只配置两个:

#设置域名
hostname = 192.168.10.118
#设置访问协议
ui_url_protocol = http

1) hostname 可以指定服务器IP,也可以使用域名。个人建议使用域名。 2) ui_url_protocol 默认使用的是http,可以配置为https。

运行prepare脚本生成配置

Generated and saved secret to file: /data/secretkey
Generated configuration file: ./common/config/nginx/nginx.conf
Generated configuration file: ./common/config/adminserver/env
Generated configuration file: ./common/config/ui/env
Generated configuration file: ./common/config/registry/config.yml
Generated configuration file: ./common/config/db/env
Generated configuration file: ./common/config/jobservice/env
Generated configuration file: ./common/config/jobservice/app.conf
Generated configuration file: ./common/config/ui/app.conf
Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt
The configuration files are ready, please use docker-compose to start the service.

6、安装 docker-compose

pip install docker-compose 

7、执行docker-compose启动harbor**

docker-compose up -d

第一次运行的时候,由于要下载相关组件的docker镜像,需要花一段时间。如果网络不好的话,可能会出现下载镜像超时的问题。我第一次执行的之后下载超时了,后来又试了一下成功下载并运行了起来:

从上图可以看出,如果运行成功,会启动6个容器:

  • harbor-log

  • harbor-ui

  • registry

  • harbor-db

  • harbor-jobservice

  • nginx

之后停止或启动harbor的话,可以使用命令:

#停止
docker-compose stop
#启动
docker-compose start

8 访问harbor界面

http:192.168.10.118

默认使用admin/Harbor12345可以登录

9、docker配置私有仓库访问

vi /usr/lib/systemd/system/docker.service


[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.10.135
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins是一个持续集成工具,用于自动化构建、测试和部署软件。Docker是一个开源的容器化平台,可以帮助开发人员打包应用程序和其依赖项成为一个容器。Harbor是一个企业级的Docker镜像注册表,可以帮助组织管理和存储Docker镜像。 在自动化部署流程中,Jenkins可以与DockerHarbor结合使用,实现自动化构建、打包和部署应用程序的流程。具体步骤如下: 首先,开发人员在代码仓库中提交新的代码。Jenkins会定期检测代码仓库的变化,一旦检测到新的代码提交,Jenkins就会触发自动化构建流程。 在构建过程中,Jenkins会使用Docker来创建应用程序的镜像,将应用程序和其依赖项打包成一个可移植的容器。然后,Jenkins会将构建的镜像推送到Harbor中进行存储与管理。 接下来,Jenkins会触发自动化部署流程。在部署过程中,Jenkins会从Harbor中拉取最新的镜像,并将其部署到目标环境中。这可以是测试环境、预发布环境或生产环境,具体取决于组织的部署策略。 在部署完成后,Jenkins可以执行自动化测试流程,验证应用程序在目标环境中的运行情况。如果测试通过,部署流程就会顺利完成。如果测试失败,Jenkins会通知相关人员,并触发回滚流程。 通过整合Jenkins、DockerHarbor,可以实现一个端到端的自动化部署流程,帮助组织提高软件交付的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值