docker私有仓库-harbor的搭建

docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。

安装Harbor

  1. 安装harbor之前需要安装docker  
  2. 由于 Harbor 是基于 Docker Registry V2 版本,所以 docker 版本必须 >=1.10.0 docker-compose >=1.6.0
  3. 下载最新版 Docker Compose   wget -c https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
  4. 对二进制文件应用可执行权限: chmod +x /usr/local/bin/docker-compose
  5. 测试是否安装成功 docker-compose --version

安装Harbor安装包

wget -c https://github.com/goharbor/harbor/releases/download/v2.0.2/harbor-offline-installer-v2.8.4.tgz

解压:wget -c https://github.com/goharbor/harbor/releases/download/v2.0.2/harbor-offline-installer-v2.8.4.tgz

cd /usr/local/harbor/

cp harbor.yml.tmpl harbor.yml

vim harbor.yml

修改3个地方:hostname,密码,注释掉https(没有配置证书启动会报错)

运行安装脚本

# 运行安装脚本 # ./install.sh

Harbor上传镜像

新建项目

新建用户,并设置为openlab的维护人员

从另一台主机上传镜像

修改配置文件,并登陆

[root@node1 ~]# cat /etc/docker/daemon.json 
{
 "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
 "live-restore": true, 
 "insecure-registries":["192.168.37.21:5000"],
 "insecure-registries":["reg.openlab.cn"]

}


[root@node1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.37.31 reg.openlab.cn


[root@node1 ~]# systemctl daemon-reload 
[root@node1 ~]# systemctl restart docker

[root@node1 ~]# docker login reg.openlab.cn
Username: tom
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

将要上传的镜像tag,并push

[root@node1 ~]# docker tag busybox:latest reg.openlab.cn/openlab/busybox:v1
[root@node1 ~]# docker push reg.openlab.cn/openlab/busybox:v1

Harbor下载镜像

从另一台主机下载,修改另一台主机的配置文件

[root@node2 ~]# cat /etc/docker/daemon.json
{
 "insecure-registries":["192.168.37.21:5000"],
 "insecure-registries":["reg.openlab.cn"]

}

[root@node2 ~]# systemctl daemon-reload 
[root@node2 ~]# systemctl restart docker.service 

[root@node2 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.37.31 reg.openlab.cn

[root@node2 ~]# docker pull reg.openlab.cn/openlab/busybox:v1
Error response from daemon: unauthorized: unauthorized to access repository: openlab/busybox, action: pull: unauthorized to access repository: openlab/busybox, action: pull

由于是私有仓库,直接下载是没有权限的,必须登陆

[root@node2 ~]# docker login reg.openlab.cn
Username: tom
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
[root@node2 ~]# docker pull reg.openlab.cn/openlab/busybox:v1
v1: Pulling from openlab/busybox
3a2e9cc4b126: Pull complete 
Digest: sha256:db16cd196b8a37ba5f08414e6f6e71003d76665a5eac160cb75ad3759d8b3e29
Status: Downloaded newer image for reg.openlab.cn/openlab/busybox:v1


[root@node2 ~]# docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
ubuntu                           latest              ca2b0f26964c        11 days ago         77.9MB
ubuntu                           18.04               f9a80a55f492        9 months ago        63.2MB
reg.openlab.cn/openlab/busybox   v1                  ba5dc23f65d4        9 months ago        4.26MB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/453918.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Java (spring-boot)的人才招聘系统

一、项目介绍 公司: IT公司的注册与管理 招聘要求的发布与维护 站内私信 求职者: 招聘需求浏览 招聘需求筛选(按岗位、薪酬、城市、地区等) 简历编辑,建立投递等 站内私信 管理员: 用户信息维护 岗…

vue学习笔记24-组件事件配合v-model使用

搜索时v-model绑定的search数据时时发生变化 watch侦听器时时监察变化&#xff0c;一旦数据发生变化 &#xff0c;就实时发送数据给父组件 子组件的完整代码&#xff1a; <template>搜索&#xff1a;<input type"text" v-model"search"> <…

数学建模【时间序列】

一、时间序列简介 时间序列也称动态序列&#xff0c;是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分&#xff0c;分别是描述过去、分析规律和预测未来&#xff0c;本篇将主要介绍时间序列分析中常用的三种模型&#xff1a;季节分解…

通过对话式人工智能实现个性化用户体验

智能交流新时代&#xff1a;如何选择对话式人工智能产品 在快速发展的数字环境中&#xff0c;对话式人工智能正在彻底改变企业与客户互动的方式。 通过集成机器学习、自然语言处理和语音识别等先进技术&#xff0c;对话式人工智能可提供个性化、无缝的用户体验。 了解对话式人…

数字工厂环境中3D开发工具HOOPS的应用及其价值

随着新一代工业技术的推进&#xff0c;数字工厂的理念逐渐被企业所接受和推广。其中&#xff0c;HOOPS技术平台在数字工厂的设定和运营中扮演了重要的角色&#xff0c;其应用带来了诸多优势。 HOOPS技术平台包含HOOPS Visualize, HOOPS Exchange和HOOPS Communicator等强大工具…

代码随想录day19(2)二叉树:二叉树的最大深度(leetcode104)

题目要求&#xff1a;求出二叉树的最大深度 思路&#xff1a;首先要区分二叉树的高度与深度。二叉树的高度是任一结点到叶子结点的距离&#xff0c;而二叉树的深度指的是任一节点到根节点的距离&#xff08;从1开始&#xff09;。所以求高度使用后序遍历&#xff08;从下往上&…

自动化测试系列-Selenium三种等待详解

第一种也是最简单粗暴的一种办法就是强制等待sleep(time)&#xff0c;强制让程序等time秒时间&#xff0c;不管程序能不能跟上速度&#xff0c;还是已经提前到了&#xff0c;都必须等time时长。 如下代码案例所示: from selenium import webdriverfrom time import sleepdriv…

软件测试Pytest实现接口自动化应该如何在用例执行后打印日志到日志目录生成日志文件?

Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤&#xff1a; 1、在pytest配置文件&#xff08;conftest.py&#xff09;中&#xff0c;定义一个日志输出路径&#xff0c;并设置logging模块。 import loggi…

【PLC】现场总线和工业以太网汇总

1、 现场总线 1.1 什么是现场总线 1&#xff09;非专业描述&#xff1a; 如下图&#xff1a;“人机界面”一般通过以太网连接“控制器(PLC)”&#xff0c;“控制器(PLC)”通过 “现场总线”和现场设备连接。 2&#xff09;专业描述&#xff08;维基百科&#xff09; 现场总线…

「建议收藏」常用adb操作命令详解

1、查看当前运行的所有设备 adb devices 返回当前设备列表 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2、安装软件 adb install 验证是否成功。需要到设备的 data/app路径下查看是否有该包名 这个命令将指定的apk文件安装到设备上 …

案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-先导篇)

专栏系列文章&#xff1a; 2024高级系统架构设计师备考资料&#xff08;高频考点&真题&经验&#xff09;https://blog.csdn.net/seeker1994/category_12593400.html 案例分析篇01&#xff1a;软件架构设计考点架构风格及质量属性 案例分析篇11&#xff1a;UML设计考…

Windows系统安装OpenSSH结合VS Code远程ssh连接Ubuntu【内网穿透】

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-mEkKUraSFHLKkzIj {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

MySQL 数据库 下载地址 国内阿里云站点

https://mirrors.aliyun.com/mysql/ 以 MySQL 5.7 为例 https://mirrors.aliyun.com/mysql/MySQL-5.7/ 各个版本很齐全&#xff0c;在这里下载要比去 MySQL 官网下载快很多&#xff0c;安逸得很 那我们下期见&#xff0c;拜拜&#xff01;

什么洗地机值得推荐?旗舰洗地机希亦、追觅、西屋、海尔实际表现如何?

洗地机这个产品相信大家已经不陌生了&#xff0c;它集合吸尘器和电动扫地拖把的功能&#xff0c;轻轻推拉便可以解决地面上的赃物&#xff0c;且不用我们手动清洗滚刷&#xff0c;深得家务人的喜爱&#xff0c;可是&#xff0c;当我们真正要去选购的时候&#xff0c;还是很纠结…

linux统计一个文件有多少行

第一种方法 cat -n anaconda-ks.cfg&#xff08;文件&#xff09; 第二种 wc 文件名 wc是 words count之意

Linux系统安全②SNAT与DNAT

一.SNAT 1.定义 利用SNAT技术实现2台私网地址都可以访问公网 2.实验环境准备 &#xff08;1&#xff09;三台服务器&#xff1a;PC1客户端、PC2网关、PC3服务端。 &#xff08;2&#xff09;硬件要求&#xff1a;PC1和PC3均只需一块网卡、PC2需要2块网卡 &#xff08;3&a…

[linux][调度] linux 下如何观察线程调度延时 ?

1 什么是调度延时 在实际业务中&#xff0c;大多数情况下&#xff0c;线程都不是一直占着 cpu 在运行的。在读写文件&#xff0c;收发网络数据时&#xff0c;可能会阻塞&#xff0c;阻塞就会进入睡眠&#xff0c;触发调度&#xff1b;在线程等待锁的时候&#xff0c;也可能会触…

ELK 安装部署

文章目录 1.日志收集规划2.Elasticsearch部署2.1.Elasticsearch安装2.2.Elasticsearch-head安装2.3.Elasticsearch设置分片数2.4.elasticsearch健康检查 3.Kibana部署4.Logstash部署5.Filebeat部署 开源中间件 # Elastic Stackhttps://iothub.org.cn/docs/middleware/ https:/…

【Shiro反序列化漏洞】shiro550流程分析

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

续篇:展开聊下 state 与 渲染树中位置的关系

&#x1f43e; 上篇的结尾处&#xff0c;提到了 > 为了提升性能&#xff0c; React 仅在渲染之间 存在差异 时才会更改 DOM 节点。 本篇&#xff0c;✓ &#x1f1e8;&#x1f1f3; 展开聊下 state 与 渲染树中位置的关系 &#x1f4e2;&#x1f4e2;&#x1f4e2; 状态与…