【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程

这篇具有很好参考价值的文章主要介绍了【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Harbor 介绍

二、Harbor 的优势

三、Harbor 部署安装

3.1 部署环境

3.2 为 Harbor 自签发证书

3.3 安装 Harbor

3.4 设置开机自启

四、Harbor 图像化界面使用说明

4.1 修改本地 hosts 文件

4.2 访问 harbor

4.3 创建项目

五、测试使用 harbor 私有镜像仓库

5.1 修改 docker 配置

5.2 登录 harbor

5.3 上传镜像到 harbor

5.4 从 harbor 仓库下载镜像


一、Harbor 介绍

        Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

Harbor 官网:Harbor

二、Harbor 的优势

  • 基于角色的访问控制:用户与 Docker 镜像仓库通过“项目”进行项目管理,可以对不同的账户设置不同的权限,以实现权限的精细管控。
  • 镜像复制:镜像可以在多个 Registry 实例中复制(同步),可以实现高性能、高可用的镜像服务。
  • 图形化用户界面:用户可以通过浏览器来浏览,管理当前 Docker 镜像仓库,管理项目和镜像等。
  • AD/LDAP 支:Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
  • 审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
  • 国际化:已拥有英文、中文、德文、日文和俄文等多语言支持版本。
  • RESTful API:提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
  • 部署简单:提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。

三、Harbor 部署安装

Harbor 官方安装文档:Harbor docs | Harbor Installation and Configuration

3.1 部署环境

        Harbor 安装之前需要先安装 Docker engine,Docker Compose,Openssl;Harbor 启动默认是占用80端口(如果是 HTTP Schema,在生产环境还是最好使用 HTTPS),当然这个可以在后面的配置文件中更改。

Docker Compose 安装步骤查看这篇文章:【云原生 | Docker 高级篇】07、Docker compose 容器编排_Stars.Sky的博客-CSDN博客

系统环境初始化:CentOS 7 初始化系统_centos7初始化_Stars.Sky的博客-CSDN博客

3.2 为 Harbor 自签发证书

[root@harbor ~]# mkdir /harbor/ssl -p
[root@harbor ~]# cd /harbor/ssl/

# 生成 ca 证书
# 生成一个 3072 位的 key,也就是私钥
[root@harbor ssl]# openssl genrsa -out ca.key 3072

[root@harbor ssl]# openssl req -new -x509 -days 3650 -key ca.key -out ca.pem

        生成一个数字证书 ca.pem,3650 表示证书的有效时间是 3 年,按箭头提示填写即可,没有箭头标注的为空:

docker登录harbor,Docker,docker,云原生,容器

# 生成域名的证书
[root@harbor ssl]# openssl genrsa -out harbor.key  3072
[root@harbor ssl]# openssl req -new -key harbor.key -out harbor.csr

生成一个证书请求,一会签发证书时需要的,标箭头的按提示填写,没有箭头标注的为空:

docker登录harbor,Docker,docker,云原生,容器

# 签发证书
[root@harbor ssl]# openssl x509 -req -in harbor.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out harbor.pem -days 3650

[root@harbor ssl]# ls
ca.key  ca.pem  ca.srl  harbor.csr  harbor.key  harbor.pem

3.3 安装 Harbor

Harbor 安装包下载地址:Releases · goharbor/harbor · GitHub

docker登录harbor,Docker,docker,云原生,容器

# 把下载好的包放在此目录
[root@harbor ssl]# cd /usr/local/
[root@harbor local]# ls
bin  etc  games  go  harbor-offline-installer-v2.5.5.tgz  include  lib  lib64  libexec  sbin  share  src

[root@harbor local]# tar -zxvf harbor-offline-installer-v2.5.5.tgz 
[root@harbor local]# cd harbor/
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml

# 修改配置文件
[root@harbor harbor]# vim harbor.yml
······
hostname: harbor        # 修改 hostname,跟上面签发的证书域名保持一致
······
https:                  # 协议用 https
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /harbor/ssl/harbor.pem    # 修改为前面创建证书的路径
  private_key: /harbor/ssl/harbor.key
······

# 邮件和 ldap 不需要配置,在 harbor 的 web 界面可以配置,其他配置采用默认即可,修改之后保存退出。
# 注:harbor 默认的账号密码:admin/Harbor12345

# 运行安装脚本
[root@harbor harbor]# ./install.sh 

看到下面内容,说明安装成功:

docker登录harbor,Docker,docker,云原生,容器

3.4 设置开机自启

[root@harbor harbor]# vim uprestart.sh
#!/bin/bash
cd /usr/local/harbor
docker-compose stop; sleep 1m; docker-compose up -d >> /dev/null 2>&1  &

[root@harbor harbor]# chmod +x uprestart.sh

# 最后一行添加下面内容
[root@harbor harbor]# vim /etc/rc.d/rc.local 
/usr/bin/bash /usr/loacl/harbor/uprestart.sh

[root@harbor harbor]# chmod +x /etc/rc.d/rc.local 

扩展:

# 停止 harbor
# 进入 Harbor 文件夹
[root@harbor harbor]# pwd
/usr/local/harbor
[root@harbor harbor]# docker-compose stop


# 重启 harbor
# 进入 Harbor 文件夹
[root@harbor harbor]# pwd
/usr/local/harbor
[root@harbor harbor]# docker-compose start
或
[root@harbor harbor]# docker-compose up -d

四、Harbor 图像化界面使用说明

4.1 修改本地 hosts 文件

docker登录harbor,Docker,docker,云原生,容器

在 hosts 文件下面添加如下一行,然后保存即可(注意:填写自己的 harbor 主机 ip)

192.168.78.138  harbor

# harbor 服务器也要修改
[root@harbor harbor]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.78.138 harbor

4.2 访问 harbor

在浏览器输入 https://harbor

docker登录harbor,Docker,docker,云原生,容器

账号:admin

密码:Harbor12345

输入账号密码出现如下:

docker登录harbor,Docker,docker,云原生,容器

所有基础镜像都会放在 library 里面,这是一个公开的镜像仓库

4.3 创建项目

点击新建项目 -> 自定义项目名字为 test(把访问级别公开那个选中,让项目才可以被公开使用)

docker登录harbor,Docker,docker,云原生,容器docker登录harbor,Docker,docker,云原生,容器

五、测试使用 harbor 私有镜像仓库

5.1 修改 docker 配置

# 增加一行内容 "insecure-registries": ["192.168.78.138","harbor"],表示走 http 协议,即内网访问
[root@harbor harbor]# vim /etc/docker/daemon.json 
{  "registry-mirrors": ["https://hlfcd01t.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"],
  "insecure-registries": ["192.168.78.138","harbor"]
}

# 使配置生效
[root@harbor harbor]# systemctl daemon-reload 
[root@harbor harbor]# systemctl restart docker.service

5.2 登录 harbor

[root@harbor harbor]# docker login 192.168.78.138
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

5.3 上传镜像到 harbor

[root@harbor harbor]# docker images 
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
······
centos                          latest    5d0da3dc9764   16 months ago   231MB

# 给 centos 镜像打标签,指定 test 项目
[root@harbor harbor]# docker tag centos:latest 192.168.78.138/test/centos:v1

[root@harbor harbor]# docker images 
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
······
centos                          latest    5d0da3dc9764   16 months ago   231MB
192.168.78.138/test/centos      v1        5d0da3dc9764   16 months ago   231MB

# 上传镜像到 harbor 里的 test 项目下
[root@harbor harbor]# docker push 192.168.78.138/test/centos:v1 

docker登录harbor,Docker,docker,云原生,容器

5.4 从 harbor 仓库下载镜像

# 先本地删除镜像
[root@harbor harbor]# docker rmi -f 192.168.78.138/test/centos:v1 
[root@harbor harbor]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
······
centos                          latest    5d0da3dc9764   16 months ago   231MB

# 下载镜像
[root@harbor harbor]# docker pull 192.168.78.138/test/centos:v1
[root@harbor harbor]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
·····
192.168.78.138/test/centos      v1        5d0da3dc9764   16 months ago   231MB
centos                          latest    5d0da3dc9764   16 months ago   231MB

上一篇文章:【云原生 | Docker 高级篇】10、Docker 资源配额_Stars.Sky的博客-CSDN博客_docker容器默认分配多少内存文章来源地址https://www.toymoban.com/news/detail-796432.html

到了这里,关于【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Docker registry镜像仓库,私有仓库及harbor管理详解

    Docker registry镜像仓库,私有仓库及harbor管理详解

    目录 registry镜像仓库概述 Docker 镜像仓库(Docker Registry): registry 容器: 私有仓库概述 搭建本地私有仓库示例 Harbor概述 harbor架构 详解构成 Harbor由容器构成 Harbor部署示例 环境准备 部署Docker-Compose服务 部署 Harbor 服务 启动Harbor 查看 Harbor 启动镜像 创建一个新项目 在其他客

    2024年01月18日
    浏览(8)
  • Docker Harbor 私有镜像仓库的部署和管理

    Docker Harbor 私有镜像仓库的部署和管理

    目录 一、什么是Harbor 二、Harbor的特性 三、Harbor的构成 四、部署配置Docker Harbor 首先需要安装 Docker-Compose 服务 部署 Harbor 服务 修改配置文件  docker配置文件添加本地仓库地址 关于 Harbor.cfg 配置文件中有两类参数:所需参数和可选参数 (1)所需参数 (2)可选参数 启动harb

    2024年02月10日
    浏览(8)
  • [云原生1.] Docker--harbor私有仓库部署与管理

    [云原生1.] Docker--harbor私有仓库部署与管理

    Harbor是一个由CNCF托管的 开源的Docker镜像仓库管理工具 ,可以通过它快速的建立起自己的 私有仓库 。 Harbor 的每个组件都是以 Docker 容器 的形式构建的,使用 docker-compose 来对它进行部署。 用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml 。 Harbor 在架构上主要有

    2024年02月07日
    浏览(15)
  • 群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像

    群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像

    @[群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像] 在进行微服务开发时,一些基础服务组件(Nacos、Redis、Mysql)的运行以及越来越多的业务服务组件的开发,会导致开发者电脑的内存资源紧张,此时我们可以把一些基础服务组件和基本业务组件(认证中

    2024年02月05日
    浏览(5)
  • Docker|kubernetes|本地镜像批量推送到Harbor私有仓库的脚本

    Docker|kubernetes|本地镜像批量推送到Harbor私有仓库的脚本

    前言: 可能有测试环境,而测试环境下有N多的镜像,需要批量导入到自己搭建的Harbor私有仓库内,一般涉及到批量的操作,自然还是使用脚本比较方便。 本文将介绍如何把某个服务器的本地镜像 推送到带有安全证书的私有Harbor仓库。 一, ###本例中,私有Harbor仓库的地址是

    2024年02月10日
    浏览(11)
  • 麒麟V10 ARM 离线生成RabbitMQ docker镜像并上传Harbor私有仓库

    麒麟V10 ARM 离线生成RabbitMQ docker镜像并上传Harbor私有仓库

    第一步在外网主机执行: docker pull arm 64 v 8 / rabbitmq: 3.8.9 -management 将下载的镜像打包给离线主机集群使用 在指定目录下执行打包命令: 执行:  docker save -o rabbitmq_arm3.8.9.tar arm64v8/rabbitmq:3.8.9-management 如果懒得打包给你飞机票下载镜像包:https://download.csdn.net/download/jiejiegua/88

    2024年02月03日
    浏览(8)
  • 【使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 安装搭建私有仓库 Harbor】

    【使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 安装搭建私有仓库 Harbor】

    登录 通过IP访问,输入账号admin,密码Harbor12345(初始密码在harbor.yml 文件有记录) 创建用户 创建项目 (1)基于centos基础镜像; (2)指定作者信息; (3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录

    2024年02月11日
    浏览(8)
  • 【云原生 • Docker】docker 私有仓库的搭建、配置与镜像上传

    【云原生 • Docker】docker 私有仓库的搭建、配置与镜像上传

    目录 一、私有仓库的搭建与配置 二、镜像上传至私有仓库 所谓的 Docker 私有仓库,就是指企业内部所使用的仓库。仓库用于存放各种镜像,区别在于公有仓库所存储的都是一些通用型的镜像比如N Tomcat 镜像、ginx 镜像等。私有仓库则用于存放自身开发的企业级应用。如果想要

    2024年02月01日
    浏览(4)
  • K8s拉取Harbor私有仓库镜像

    K8s拉取Harbor私有仓库镜像

    提示:需要先部署Harbor私有镜像库。 insecure-registries对应可信任的镜像服务地址,如果有多个地址,还可以用“,”隔开,配置多个。 提示:每个k8s节点都需要配置,完成之后需要重启docker服务。 选择需要的命名空间,创建密文。 如果没有密文,后面的配置,都会明文数据

    2024年02月16日
    浏览(11)
  • 【云原生】私有镜像的解决方案-Harbor管理实战

    通过前面的镜像管理,我们知道docker的开发和运行都离不开镜像管理,如果要进行镜像管理就需要使用镜像仓库。 docker官方提供的镜像仓库是: docker hub, 很方面但从安全和效率的角度考虑,这样的公有镜像环境就无法在企业私有环境中使用了。所以我们今天来探讨下企业中

    2024年02月05日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包