Docker 之 私有镜像仓库(Harbor)搭建

2023-11-08

下载地址:

https://github.com/goharbor/harbor/releases

文档地址:

https://github.com/goharbor/harbor/tree/master/docs/1.10

 

一、下载harbor 压塑包

[root@node1 ~]# wget https://github.com/goharbor/harbor/releases/download/v1.10.1/harbor-offline-installer-v1.10.1.tgz

二、解压

   tar  xvf harbor-offline-installer-version.tgz

 其中,harbor.v1.10.1.tar.gz 包含harbor 需要使用的镜像文件.

三、编辑配置文件

你可以在harbor.yml 配置系统级别的参数,这些参数在运行install.sh脚本安装或重新配置Harbor时生效。

在初始部署和启动Harbor之后,在Harbor Web门户中执行其他配置。

下表列出了部署Harbor时必须设置的参数。默认情况下,所有必需的参数在端口中都是未注释的。yml文件。可选参数用#注释。您不必从提供的缺省值更改所需参数的值,但这些参数必须保持未注释。至少,您必须更新hostname参数。

重要提示:Harbor 不提供任何证书。在版本高达和包括1.9。默认情况下,Harbor使用HTTP来服务注册表请求。这仅在空气间隙测试或开发环境中是可接受的。在生产环境中,始终使用HTTPS。如果您启用了带有Notary的Content Trust来正确地对所有图像进行签名,则必须使用HTTPS。

您可以使用由受信任的第三方CA签名的证书,也可以使用自签名证书。有关如何创建CA以及如何使用CA对服务器证书和客户端证书进行签名的信息,请参阅使用HTTPS访问配置Harbor。

Harbor 部署必须的参数:

上图只列举了一部分,详情可参考官网: 参数配置

我们修改下配置,注意,如果没有证书,需要将https 注释掉,不然安装会失败

四、运行安装脚本

[root@node1 harbor]# ./install.sh

[Step 0]: checking if docker is installed ...

Note: docker version: 18.09.5

[Step 1]: checking docker-compose is installed ...
?.Need to install docker-compose(1.18.0+) by yourself first and run this script again.

没有执行成功,需要安装docker-compose,请参考:docker-compose 安装

再次执行install.sh 脚本

[root@node1 harbor]# ./install.sh
....
[Step 5]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating redis         ... done
Creating registry      ... done
Creating harbor-db     ... done
Creating harbor-portal ... done
Creating registryctl   ... done
Creating harbor-core   ... done
Creating nginx             ... done
Creating harbor-jobservice ... done
?.----Harbor has been installed and started successfully.----

安装成功.,多了一个docker-compose.yml 文件

total 662128
drwxr-xr-x 3 root root        19 Feb 27 19:24 common
-rw-r--r-- 1 root root      3398 Feb 10 14:18 common.sh
-rw-r--r-- 1 root root      5291 Feb 27 19:45 docker-compose.yml
-rw-r--r-- 1 root root 677974489 Feb 10 14:19 harbor.v1.10.1.tar.gz
-rw-r--r-- 1 root root      5880 Feb 27 19:44 harbor.yml
-rwxr-xr-x 1 root root      2284 Feb 10 14:18 install.sh
-rw-r--r-- 1 root root     11347 Feb 10 14:18 LICENSE
-rwxr-xr-x 1 root root      1749 Feb 10 14:18 prepare

五、配置http访问

如果您安装的Harbor使用的是HTTP而不是HTTPS,则必须将选项--insecure-registry添加到客户端的Docker守护进程中。默认情况下,守护进程文件位于/etc/docker/daemon.json。

{

"registry-mirrors": ["http://hub-mirror.c.163.com"],

"insecure-registries" : ["192.168.27.134:9901", "0.0.0.0"]

}

更新daemon.json 之后。您必须重新启动Docker引擎和Harbor。

1、重启Docker Engine 

systemctl restart docker

2、停止Harbor 

[root@node1 harbor]# docker-compose down -v
Stopping harbor-jobservice ... done
Stopping nginx             ... done
Stopping harbor-core       ... done
Stopping registryctl       ... done
Stopping harbor-portal     ... done
Stopping registry          ... done
Stopping harbor-db         ... done
Stopping redis             ... done
Stopping harbor-log        ... done
Removing harbor-jobservice ... done
Removing nginx             ... done
Removing harbor-core       ... done
Removing registryctl       ... done
Removing harbor-portal     ... done
Removing registry          ... done
Removing harbor-db         ... done
Removing redis             ... done
Removing harbor-log        ... done
Removing network harbor_harbor

3、重启Harbor

[root@node1 harbor]# docker-compose up -d
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating registry      ... done
Creating registryctl   ... done
Creating harbor-db     ... done
Creating redis         ... done
Creating harbor-portal ... done
Creating harbor-core   ... done
Creating harbor-jobservice ... done
Creating nginx             ... done

 

打开浏览访问:http://192.168.27.134:9901

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 之 私有镜像仓库(Harbor)搭建 的相关文章

  • 浅谈NB-IOT模块调试

    背景 在物联网的口号下 我们公司也有幸踏足NB物联这块 当然也只是二次应用开发 NB核心开发技术都掌握在几个大公司大佬手里 例如 华为海思 高通 intel 当然模块 厂商又例如 移远 ublox等 芯片的资料和技术不像Lora这样开源 所
  • python实现字符串匹配算法BF,BF改,KMP

    包含 BF BF改进版本 KMP BF 暴力搜索 BF改 当判断匹配失败的字符串是不是与首字母相同 若不同 继续BF算法 若相同 直接将首字母移到当前位置 KMP 通过前缀与后缀发现待匹配字符串本身的特性 匹配失败时一次性移动多个字符以减少
  • python三维数组切片

    使用np random randint创建一个 3 4 5 的三维随机数组 利用切片返回 如下图位置的数
  • 文件上传封装与使用

    组件封装
  • Linux下Fork与Exec使用

    老邮局 琼楼挂月钓流云 梦里瑶台暂借春 Linux下Fork与Exec使用 一 引言 对于没有接触过Unix Linux操作系统的人来说 fork是最难理解的概念之一 它执行一次却返回两个值 fork函数是Unix系统最杰出的成就之一 它是
  • 白帽,黑帽,灰帽,绿帽!一文了解黑客的所有信息

    前言 您是否想过黑客有许多不同的类型 是什么因素促使他们学习黑客技能 当我想到黑客时 我都会想到下面这张图片 那就是黑客的形象 那你呢 文末有彩蛋 网络可以说是有史以来最重要的战场 这里没有国界 也没有有组织的军队 在线网络战场是善恶之间最
  • ucosII 下iic 的使用问题(含解决方式)

    今天在将SGP30气体传感器的代码移植到ucosii中使用时遇到了输出数据一直为65535的情况 分析现象 开始以为是硬件问题 元器件损坏等原因 使用了裸核代码进行测试 能够正常读取相应参数说明硬件正常 ucos跑死了 增加led显示任务
  • 机器学习笔试题一

    1 输入图片大小为200 200 依次经过一层卷积 kernel size 5 5 padding 1 stride 2 pooling kernel size 3 3 padding 0 stride 1 又一层卷积 kernel siz
  • @Autowired三种注入方式的区别以及@Inject注解的基本使用

    文章目录 Autowired三种注入方式的区别 Autowired三种注入方式 1 构造器注入 lombok注解实现构造器注入 2 setter注入 3 属性注入 问题一 问题二 总结 使用 Inject 代替 Autowired 参考 A
  • 彻底搞清楚javascript中的require、import和export

    为什么有模块概念 理想情况下 开发者只需要实现核心的业务逻辑 其他都可以加载别人已经写好的模块 但是 Javascript不是一种模块化编程语言 在es6以前 它是不支持 类 class 所以也就没有 模块 module 了 require

随机推荐