Linux安装镜像仓库Harbor

2023-11-13

先来看一下Harbor的页面,不管是页面布局,还是操作功能,明显比registry好。

 1、安装docker
docker安装

2、安装docker-compse
Harbor对docker-compse的版本是有要求的,我记得是要高于1.19版本。这里提供1.25版本的安装。

curl -L https://dn-dao-github-mirror.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
 
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

 
3、安装Harbor
# 获取安装包
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-online-installer-v2.4.0.tgz
 
# 解压
tar -xf harbor-online-installer-v2.4.0.tgz -C /opt
cp /opt/harbor/harbor.yml.tmpl /opt/harbor/harbor.yml
 
# 修改harbor.yml文件
cd /opt/harbor/
vi harbor.yml

# Harbor的默认密码是 Harbor12345 也可以在harbor.yml配置文件进行修改。
 
# 运行
./prepare
./install.sh

 
4、访问
IP+端口号。

账号admin,密码Harbor12345

 5、简单做个push操作
首先在Harbor管理页面新建一个test项目

并且这里是有推送命令的。

 服务器准备(这里我用了两个机子,如果没有,就用Harbor所在的一台机子也行。主要操作就是将镜像push到镜像仓库):

10.159.62.232: Harbor镜像仓库所在机子
10.159.62.214: 测试机子

开始push(下面命令当中的test指的就是我们刚才创建的test,如果你创建了其他项目,替换就行):

在214机子上操作:
docker pull java:8
docker tag java:8 10.159.62.232:5000/test/java:8
docker push 10.159.62.232:5000/test/java:8

第一次push报错:

 解决方案:

修改214机子daemon.json文件,将下面内容复制到里面
vi /etc/docker/daemon.json
 
{
  "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": [
    "10.159.62.232:5000"
  ]
}

第二次push报错:

 解决方案:

#在214机子上登录docker连接232,账号密码为Harbor的账号密码。
docker login 10.159.62.232:5000
 
# 登录成功之后重新push 成功。

备注:另外如果是你搭建了Jenkins+svn+docker持续基础环境,在用本镜像仓库的时候第一次push也会报 我上面第二次push的错误。

解决方案:

# 在搭建Harbor的主机上登录一下login即可。账号密码为Harbor的账号密码。
docker login 10.159.62.232:5000

 
6、修改了配置文件并生效的操作步骤
1 进行Harbor目录
2 修改harbor.yml文件
3 ./prepare
4 docker-compose donw -v
5 docekr-compose up -d

 
7、Harbor开机自启
#编辑harbor.service,将下面内容复制进去
vi /lib/systemd/system/harbor.service

[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
 
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f  /opt/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml down
 
[Install]
WantedBy=multi-user.target

# 启动harbor.service文件使之生效
systemctl enable harbor
systemctl start harbor
————————————————
版权声明:本文为CSDN博主「云村的王子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41915325/article/details/126873420

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

Linux安装镜像仓库Harbor 的相关文章

  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写
  • 在 Linux 上以编程方式设置 DNS 名称服务器

    我希望能够通过我的 C C 程序为 Linux 上的 DNS 名称服务器添加 IP 地址 我在一个带有只读 etc resolv conf 的嵌入式平台上 这意味着我不能简单地将 nameserver xxx xxx xxx xxx 行添加
  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https

随机推荐

  • 一些文件头

    由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式 当然这就是一些播放器识别文件的方法 1 从Ultra edit 32中提取出来的 JPEG jpg 文件头 FFD8FF PNG png 文件头 89504E47 G
  • 浅析进程与线程之间的区别

    文章目录 浅析进程与线程之间的区别 从最普遍的答案出发 什么是计算机资源 计算资源 存储资源 I O设备资源 什么是进程 线程 操作系统怎样给进程分配资源的 操作系统怎样调度进 线程的 进程的上下文切换 为什么需要线程 参考链接 浅析进程与
  • mybatis generator

    文章目录 generatorConfig xml GeneratorSqlmap java log4j properties lib maven pom generatorConfig xml
  • 【deep_thoughts】30_PyTorch LSTM和LSTMP的原理及其手写复现

    文章目录 LSTM API 手写 lstm forward 函数 LSTMP 修改 lstm forward 函数 视频链接 30 PyTorch LSTM和LSTMP的原理及其手写复现 哔哩哔哩 bilibili PyTorch LSTM
  • Ubuntu 下安装 OpenSSH Server

    Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情 需要的命令只有一条 sudo apt get install openssh server 查看返回的结果 如果没有出错 则用putty SecureCRT SSH
  • Deprecated usages detected, please refer to the el-pagination documentation for more details

    遇到这个问题 说明你用el pagination分页器参数传递不正确 在这里插入图片描述 https img blog csdnimg cn 5952bad428654dda8d956181f45183d5 png 我的是由于total没有
  • 在tinymce富文本中插入本地视频解决方案

    前言 最近在改一个别人的项目时候 遇到一个需求 要在tinymce富文本中添加本地视频 tinymce富文本本身是不具备添加本地视频的功能的 需要使用一些其他手段来添加本地视频 小demo截图 方法 1 在富文本的外面写一个添加视频的按钮
  • 第二十九章 Unity关节Joint

    关节组件将刚体连接到另一个刚体或空间中的固定点 关节施加使刚体移动的力 而关节限制功能可以限制该移动 Unity 提供的以下关节可以对刚体组件施加不同的力和限制 从而使这些刚体具有不同的运动 Hinge Joint铰链关节 使两个刚体像被连
  • 软件工程——结构化设计

    一 结构化软件设计的任务 在结构化设计方法中 概要设计阶段将软件需求转化为数据结构和软件的系统结构 概要设计阶段要完成体系结构设计 数据设计及接口设计 详细设计阶段要完成过程设计 二 结构化设计与结构化分析的关系 结构化设计方法的实施要点
  • android 旋转屏幕导致Activity重建解决方法

    横竖屏切换时候activity的生命周期 1 不设置Activity的android configChanges时 切屏会重新调用各个生命周期 切横屏时会执行一次 切竖屏时会执行两次 2 设置Activity的android configC
  • python 根据当前时间创建文件

    在当前目录中批量创建文件 文件名为 Y m d H M S格式的当前时间 精确到秒 为防止出现重名文件 在每创建一个文件后 让线程休眠一秒 import time def create global name localTime time
  • vue-router 源码:前端路由

    前言 在学习 vue router 的代码之前 先来简单了解一下前端路由 前端路由主要有两种实现方法 Hash 路由 History 路由 先来看看这两种方法的实现原理 接着我们将用它们来简单实现一个自己的前端路由 前端路由 Hash 路由
  • 开关电源电感电压波形过冲和下冲原理以及处理办法

    以一个同步降压电路例子来讲解 测量电感左端的电压波形如图所示 很明显可以看到电压尖刺 那么为什么会产生这个尖刺 从电路原理中我们知道 实际上电路是有很多寄生参数的 从图中可以知道实际电路可以等效一个RCL电路 过冲和下冲原理是一样的 这里以
  • Linux带宽限速———针对网卡与进程操作限速

    使用 Wondershaper 限制网络带宽 yum y install wondershaper Wondershaper 可以用于限制特定网络接口 如 eth0 wlan0 的下载和上传速度 使用 Wondershaper 来限制接口的
  • 概要设计的必要性及写法

    1 1 文档的重要性 很多小伙伴在需求 开发 测试阶段不注重文档 认为这耽误时间 画蛇添足 实际上文档对于软件行业是十分重要的 软件的定义 软件是包括程序 数据及其相关文档的完整集合 从这个定义中我们能够体会到文档的重要性 很多小伙伴常说要
  • 物联网智能家居系统

    源码部分可以找我我给你的哦 l3O6l4O8O52 扣扣 物联网智能家居系统 18年07 19 实训项目 1 需求分析 原理 基础准备 1 1实验目的 1 2基本功能 1 3模块功能描述 1 3 1主功能函数模块 1 3 2串口通信模块 1
  • gensim.models.word2vec 参数说明

    使用gensim训练词向量的实例 Initialize and train a Word2Vec model gt gt gt from gensim models import Word2Vec gt gt gt sentences ca
  • Es、kibana安装教程-ES(二)

    上篇文章介绍了ES负责数据存储 计算和搜索 他与传统数据库不同 是基于倒排索引来解决问题的 Kibana是es可视化工具 分布式搜索ElasticSearch ES 一 一 ElasticSearch安装 官网下载地址 https www
  • VS Code自动补全生成代码免费插件BitoAI使用指南2023

    2023年是AI爆发元年 已经被各种AI工具 新闻轰炸了几个月 只有一种感觉 时间不够用 本文介绍编程辅助神器 Bito AI Bito是什么 Bito是一款插件 它目前支持VS Code Chrome插件 以及Jetbrains的全系列I
  • Linux安装镜像仓库Harbor

    先来看一下Harbor的页面 不管是页面布局 还是操作功能 明显比registry好 1 安装docker docker安装 2 安装docker compse Harbor对docker compse的版本是有要求的 我记得是要高于1 1