docker 私有仓库 harbor

news/2025/9/25 21:43:16/文章来源:https://www.cnblogs.com/codedingzhen/p/19112102

安装

好的 👍,我来整理一下 Harbor(一个开源的企业级 Docker Registry) 在 Docker / Docker Compose 下的安装方法,适合在你目前的环境里用。


🚀 Harbor Docker 安装步骤

1. 准备环境

  • Linux 服务器(Ubuntu 20.04/22.04/24.04 都行)
  • 已安装 DockerDocker Compose
    (如果没有,先安装:)
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker --now

2. 下载 Harbor 安装包

Harbor 官方发布的是一个 离线/在线安装包(包含 docker-compose 模板)。

去 GitHub 下载最新 release:

wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-online-installer-v2.11.0.tgz

解压:

tar xzvf harbor-online-installer-v2.11.0.tgz
cd harbor

3. 配置 Harbor

复制配置文件:

cp harbor.yml.tmpl harbor.yml

编辑配置文件:

nano harbor.yml

重点修改:

  • hostname → 改成你的服务器域名或 IP
  • http.port → 默认为 80,可以改
  • 如果要启用 HTTPS,配置 https.port 和证书路径

示例(HTTP 简单配置):

hostname: 192.168.1.100http:port: 8080harbor_admin_password: Harbor12345

4. 安装 Harbor

执行:

sudo ./install.sh

它会用 docker-compose 启动 Harbor 的各个服务容器(portal、core、registry、db、redis 等)。


5. 访问 Harbor

安装完成后,用浏览器访问:

http://<你的IP>:8080

默认用户名:admin
默认密码:harbor_admin_password 里配置的值(比如 Harbor12345


6. 管理 Harbor

查看容器:

docker ps

停止 / 启动:

docker-compose down
docker-compose up -d

⚡ 总结:
Harbor 并不是一个单独的 docker 镜像,而是通过 docker-compose 编排多个容器 来运行。官方推荐的方式就是 harbor-online-installer + docker-compose


客户端 登录

构建镜像

好,我来一步步教你 Harbor 上传和拉取镜像 的方法。

假设你已经有一个运行中的 Harbor(通过 Docker Compose 或 Kubernetes 部署),并且能通过浏览器访问它。


1️⃣ 登录 Harbor

Harbor 默认仓库地址一般是 https://your-harbor-domain 或者 http://IP:port
比如我用 harbor.local 举例:

docker login harbor.local

输入 Harbor 的用户名和密码(默认 admin/Harbor12345,如果没改的话)。
登录成功会提示 Login Succeeded


2️⃣ 打 Tag(镜像命名规则)

Harbor 仓库里的镜像命名方式是:

<harbor地址>/<项目名>/<镜像名>:<tag>

例子:

docker tag nginx:latest harbor.local/library/nginx:1.0

说明:

  • nginx:latest → 本地已有的镜像
  • harbor.local → Harbor 域名或 IP
  • library → Harbor 中的项目名(默认有一个 library 项目)
  • nginx:1.0 → 存储到 Harbor 的镜像名和标签

3️⃣ 上传(push)

打好 tag 之后,直接 push 即可:

docker push harbor.local/library/nginx:1.0

上传成功后,你可以在 Harbor Web 界面看到这个镜像。


4️⃣ 拉取(pull)

从 Harbor 拉取和 Docker Hub 一样,只是地址不同:

docker pull harbor.local/library/nginx:1.0

5️⃣ 如果 Harbor 使用自签证书(HTTPS)

如果你用的是 自签名证书,需要让 Docker 信任证书,否则会报错:

  1. 拷贝证书到 Docker 目录:

    sudo mkdir -p /etc/docker/certs.d/harbor.local
    sudo cp ca.crt /etc/docker/certs.d/harbor.local/
    
  2. 重启 Docker:

    sudo systemctl restart docker
    

这样 Docker 就能正常 push/pull 了。


🔑 总结

  • 登录:docker login harbor.local
  • 打 tag:docker tag <镜像> harbor.local/<项目>/<镜像>:<tag>
  • 上传:docker push harbor.local/<项目>/<镜像>:<tag>
  • 拉取:docker pull harbor.local/<项目>/<镜像>:<tag>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vite+ts取别名@

一、安装三方库:npm install --save-dev @types/node 二、在vite.config.ts中: import path from "path";export default defineConfig({// 取别名resolve: {alias: {"@": path.resolve(__dirna…

前程无忧网站开发待遇怎么样请解释网站开发的主要流程

浅析BCH码的编码方法浅析BCH码的编码方法0 引言数字信号在传输系统中传输时&#xff0c;不免会受到各种因素的干扰&#xff0c;使到达接收端的数字信号中混有噪声&#xff0c;从而引发错误判决。为了抗击传输过程中的干扰&#xff0c;必然要利用纠错码的差错控制技术。BCH码是纠…

免费的舆情网站app下载网页美工素材

1、vscode安装 官网链接&#xff1a;https://code.visualstudio.com/ 选择相应的版本&#xff0c;这里选择Windows下的 下载得到一个VSCodeUserSetUp-x64的可执行文件&#xff0c;双击执行&#xff0c;选择要安装的路径&#xff0c;下一步。 2、go语言安装 官网链接&#x…

jsp网站开发中英文页面切换路由器映射做网站稳定吗

一些小伙伴在加装玩新的硬盘后出现了一个问题&#xff0c;那就是硬盘明明安装上去了&#xff0c;但是电脑上没有显示出来。这是为什么呢&#xff1f;其实可能是因为安装没成功或者分区没有分好导致的&#xff0c;那么加装硬盘不显示该怎么办呢&#xff1f;接下来小编就给大家带…

掌握C2重定向器:红蓝队攻防实战指南

本文深入解析C2重定向器在红蓝对抗中的核心作用,涵盖流量伪装、基础设施隐藏等实战技术,包含具体代码示例。通过重定向技术实现命令控制流量与正常业务流量的混合,帮助攻击方规避检测,同时为防御方提供威胁狩猎和网…

Selenium工作原理详解 - 教程

Selenium工作原理详解 - 教程2025-09-25 21:34 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important…

php网站开发wampphp网站模板源码

介绍表连接&#xff0c;更确切的说是inner joins內连接&#xff0e; 內连接仅选出两张表中互相匹配的记录&#xff0e;因此&#xff0c;这会导致有时我们需要的记录没有包含进来。 为更好的理解这个概念&#xff0c;我们介绍两个表作演示。苏格兰议会中的政党表(party)和议员表…

东莞销售网站建设汕头市企业网站建设服务机构

点击去看上一篇 一、创建用户 model 1.创建用户数据库库 leadnews_user 核心表 ap_user 建库建表语句 这里一定要使用 navicat&#xff0c;执行SQL 文件&#xff0c;以防止 cmd 中的编码问题 先将 SQL 语句&#xff0c;保存在电脑中&#xff0c;再使用 navicat 打开 CREATE…

网站架构优化南宁广告网页设计招聘

PHP取整数函数常用的四种方法,下面收集了四个函数&#xff1b;经常用到取整的函数&#xff0c;今天小小的总结一下&#xff01;其实很简单&#xff0c;就是几个函数而已&#xff5e;&#xff5e;主要是&#xff1a;ceil&#xff0c;floor&#xff0c;round&#xff0c;intvalPH…

2025秋_3

今天学习了java

day004

今日完成:计算机登录系统验证码程序 明日完成:斗地主 遇到问题:无

软件测试团队准备解散了......

在大厂做测试五年,没想到整个部门说没就没了最近一位粉丝发来消息,说起他一段真实的职场经历: 在大厂做测试五年,没想到整个部门说没就没了。项目戛然而止,签离职、收拾东西,一天内全部结束,走出公司大门时,整…

2025秋_4

今天我学会了可视化界面的实现,以及简单的设置宽高等操作

【STM32H7】从零开始搭建的HAL库工程模板(基于CubeMX)

CubeMX基本配置 第一步:选择芯片 1.从搜索框中搜索“STM32H743IIT6”双击即可。2.这里说的是强烈建议内核为M7的设备预先配置内存保护单元(MPU),是否应用此类默认配置? 由于我们这里是从零开始的配置,并且默认配…

洛阳酒店网站开发大全中国十大门窗品牌排行榜前十名

首先&#xff0c;要说一下两者的概念&#xff1a;系统调用 &#xff1a;是操作系统为用户态运行的进程和硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口&#xff0c;即就是设置在应用程序和硬件设备之间的一个接口层。可以说是操作系统留给用户程序的一个接口。再来说…

重生之从零开始的神经网络算法学习之路 —— 第八篇 大型数据集与复杂模型的 GPU 训练实践

重生之从零开始的神经网络算法学习之路 —— 第八篇 大型数据集与复杂模型的 GPU 训练实践重生之从零开始的神经网络算法学习之路——第八篇 大型数据集与复杂模型的GPU训练实践 引言 在前一篇中,我们实现了基础的SRC…

Avalonia:开发Android应用

我把成功开发Android应用的经过记录下来,在开发过程中,模拟器经常出问题,将Java Development Kit的位置和Android SDK的位置改动一下,就解决了模拟器报错的问题,这是在Github上看到的解决办法。 先建Models文件夹…

MIT s6.828环境搭建

前言:建议ubuntu镜像版本在22.04以下,亲测新版本会报错 本文默认读者ubuntu搭建完成,且可以联网 sudo apt update开始配置环境前先更新软件包列表sudo apt install -y binutils gcc git libpixman-l-dev python2 pk…

做微网站的第三方登录wordpress 目录布局

目录 一、引言 二、代码整体结构 三、宏定义与头文件 四、插入排序函数&#xff08;Insertsort&#xff09; 函数作用 代码要点分析 五、希尔排序函数&#xff08;ShellSort&#xff09; 函数作用 代码要点分析 六、打印数组函数&#xff08;PrintSort&#x…

关键词搜索爱站网自己如何建立网站

一、设计模式分类 软件开发的23种模式&#xff0c;主要分类有创建型模式&#xff0c;结构型模式&#xff0c;行为型模式三种&#xff0c;相关分类如下&#xff1a; 设计模式是一种面向对象编程的思想&#xff0c;它是由Gamma等人在《设计模式&#xff1a;可复用面向对象软件的…