阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker入门之搭建私有企业级镜像仓库Harbor

502次阅读
没有评论

共计 4063 个字符,预计需要花费 11 分钟才能阅读完成。

Docker 入门之搭建私有企业级镜像仓库 Harbor

为什么要搭建私有镜像仓库

  对于一个刚刚接触 Docker 的人来说, 官方的 Docker hub 是用于管理公共镜像。既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像。我们可以非常方便的把我们自己镜像推送上去,但是 Docker hub 提供的私有仓库个数有限。对于个人来说 Docker hub 是个不错的选择,但是对于企业来说,相对于安全,成本和公司的架构来说搭建自己的私有镜像仓库才是正确的道路。

什么是 Harbor? 为什么要选择 Harbor

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

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

    Harbor 安装

      要安装 Harbor, 有以下几个先决条件:
        Python 版本大于或者等于 2.7
        
    Docker engine 的版本大于等于 1.10
        Docker Compose 的版本大于 1.6.0

  首先我们需要检查自己服务器是否支持上面 3 个条件。输入以下代码检查

#python2.7 官网安装页面
https://www.python.org/downloads/release/python-2711/
# 检查 Python 版本.Ubuntu 16.04 已经集成了 python2.7。
python -V
# 检查 Docker 的版本
docker -v
#Docker Compose 安装脚本
sudo curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 检查 Docker Compose 的版
docker-compose –version
# 如果提示 Permission denied。执行以下语句赋权
sudo chmod +x /usr/local/bin/docker-compose

  确保服务器上的软件版本已经满足以上要求之后。我们现在开始安装 Harbor。如果不知道怎么安装 docker 可以参考  https://www.linuxidc.com/Linux/2018-03/151318.htm

下载 Harbor

# 下载安装包
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
# 解压
tar -xzf harbor-offline-installer-v1.1.2.tgz
cd harbor
# 编辑配置文件
vi harbor.cfg

配置文件注释参考]

## Configuration file of Harbor

# 设置访问地址,支持 IP,域名,主机名,禁止设置 127.0.0.1
hostname = reg.mydomain.com

# 访问方式,http 或者 https
ui_url_protocol = http

# 邮件通知相关设置
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

# 用户登录密码
harbor_admin_password = Harbor12345

#harbor 认证模式,默认为 db_auth,本地 mysql,也可以配置 ldap 认证
auth_mode = db_auth

#ldap 认证配置
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = ou=people,dc=mydomain,dc=com
ldap_uid = uid
ldap_scope = 3

#mysql 数据库设置
db_password = root123
self_registration = on
use_compressed_js = on
max_job_workers = 3
token_expiration = 30
verify_remote_cert = on
customize_crt = on

# 显示的认证及组织信息
crt_country = CN
crt_state = State
crt_location = CN
crt_organization = organization
crt_organizationalunit = organizational unit
crt_commonname = example.com
crt_email = example@example.com
project_creation_restriction = everyone

#SSL 证书地址。只有开启 https 访问才生效
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
#############

  以上按照自己需求修改。如果想开启 https 模式访问需要自己申请 ssl 证书。harbor 默认监听 80 端口。如果需要修改端口。请修改目录下的 docker-compose.yml 文件,
Docker 入门之搭建私有企业级镜像仓库 Harbor
修改完成之后。运行

sudo ./install.sh

  进行安装。安装完成之后他会自己启动。这里他会自己下载一些他所需的 images。过程有点慢。可以通过阿里云的镜像加速器来加速。阿里云镜像加速器 . 打开链接登录之后点击镜像加速。然后你会得到一个专属加速地址。如图
Docker 入门之搭建私有企业级镜像仓库 Harbor可以根据自己的环境查看文档安装使用。然后等待命令执行结束。
Docker 入门之搭建私有企业级镜像仓库 Harbor

开启 https

  如果使用 http 的这里可以跳过,我们把已经申请好的证书文件放到 /data/cert 目录下面。然后修改 harbor.cfg 文件

Docker 入门之搭建私有企业级镜像仓库 Harbor
  安装成功之后打开之前自己设定的域名或者 IP 地址。测试地址。测试用户名:harbor_test,测试密码:Harbor_test123
Docker 入门之搭建私有企业级镜像仓库 Harbor

使用 harbor

创建用户

harbor 已经创建成功。现在我们来开始创建一个用户。
Docker 入门之搭建私有企业级镜像仓库 Harbor

创建项目

创建项目,并添加用户
Docker 入门之搭建私有企业级镜像仓库 Harbor

上传镜像

首先使用 docker login 命令登录:

# 登录
robin:~ robin$ sudo docker login shepherd618.cn
Username: admin
Password:
Login Succeeded
# 查看本地镜像
robin:docker_demo robin$ sudo docker images
Password:
REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
docker_demo        latest              fdd994bee741        19 seconds ago      283MB
node                8.9-alpine          406f227b21f5        2 weeks ago        68.1MB
# 给 dcoker_demo 新增 tag
robin:docker_demo robin$ sudo docker tag docker_demo shepherd618.cn/test/demo
#push images
robin:docker_demo robin$ docker push shepherd618.cn/test/demo
The push refers to repository [shepherd618.cn/test/demo]
f8387a884f73: Layer already exists
d74f9d9e7013: Pushed
f846841ed47f: Layer already exists
0198944a9875: Layer already exists
9dfa40a0da3b: Layer already exists
latest: digest: sha256:5b33acc5edf6f48cbd8e7ccd216daa4a7da1ebd4871fbc68bc2517136f1ccf44 size: 1374

然后打开 harbor, 会看到刚刚上传的 images 和操作日志
Docker 入门之搭建私有企业级镜像仓库 Harbor

当我们需要用到这个 images 的时候可以通过上面给的 pull 命令下载到本地。到此整个安装过程结束。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4063字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7987244
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...