docker私有仓库harbor部署

news2024/11/15 13:24:40

1. harbor简介:

  • Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。
  • 作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

2. harbor部署:

资源最低推荐
CPU2cpu4cpu
Mem4GB8GB
Disk40GB160GB
  • Harbor仓库部署两种方式,一种是off-line ,一种是on-line,即离线和在线安装,此处选择离线安装:

2.1. 安装Docker-Compose快速编排工具

//下载Docker compose脚本
[root@localhost ~]# curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

//添加脚本x权限
chmod +x /usr/local/bin/docker-compose

//查看版本信息
[root@localhost ~]# docker-compose --version
Docker Compose version v2.17.2

2.2. 下载Harbor并且解压

//下载harbor离线安装包
wget -c https://github.com/goharbor/harbor/releases/download/v2.8.1/harbor-offline-installer-v2.8.1.tgz
//解压
tar -xf harbor-offline-installer-v2.8.1.tgz

2.3. 修改Habor配置文件harbor.cfg

root@harbor ~]# cd harbor/
[root@harbor harbor]# ls
common.sh  harbor.v2.8.1.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
//备份配置文件并进行配置
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
//修改配置文件中hostname内容
[root@harbor harbor]# vim harbor.yml
....
hostname: 192.168.2.50    #修改为当前主机的IP或域名
# http related config
http:
  port: 80
#https:                 #注释掉https服务
#  port: 443
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path

# internal_tls:
#   enabled: true
#   dir: /etc/harbor/tls/internal
harbor_admin_password: Harbor12345    --指定密码

2.4. 安装Harbor

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

在这里插入图片描述

[root@harbor harbor]# docker ps
CONTAINER ID   IMAGE                                COMMAND                   CREATED         STATUS                   PORTS                                   NAMES
00f23b78bc06   goharbor/harbor-jobservice:v2.8.1    "/harbor/entrypoint.…"   6 minutes ago   Up 6 minutes (healthy)                                           harbor-jobservice
6ffdec9ca084   goharbor/nginx-photon:v2.8.1         "nginx -g 'daemon of…"   6 minutes ago   Up 6 minutes (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp   nginx
0b7c8c12a91a   goharbor/harbor-core:v2.8.1          "/harbor/entrypoint.…"   6 minutes ago   Up 6 minutes (healthy)                                           harbor-core
198b58f0dd3a   goharbor/harbor-registryctl:v2.8.1   "/home/harbor/start.…"   6 minutes ago   Up 6 minutes (healthy)                                           registryctl
f680b8bd36fc   goharbor/harbor-db:v2.8.1            "/docker-entrypoint.…"   6 minutes ago   Up 6 minutes (healthy)                                           harbor-db
cef2df05b319   goharbor/redis-photon:v2.8.1         "redis-server /etc/r…"   6 minutes ago   Up 6 minutes (healthy)                                           redis
f41401422a96   goharbor/registry-photon:v2.8.1      "/home/harbor/entryp…"   6 minutes ago   Up 6 minutes (healthy)                                           registry
717da9c60854   goharbor/harbor-portal:v2.8.1        "nginx -g 'daemon of…"   6 minutes ago   Up 6 minutes (healthy)                                           harbor-portal
764e82d18fe1   goharbor/harbor-log:v2.8.1           "/bin/sh -c /usr/loc…"   6 minutes ago   Up 6 minutes (healthy)   127.0.0.1:1514->10514/tcp               harbor-log

//使用docker-compose管理harbor启动和停止服务(需要进到harbor目录中)
//关闭harbor服务
[root@harbor harbor]# docker-compose stop
[+] Running 9/9
 ✔ Container nginx              Stopped                                                                                       0.2s
 ✔ Container registryctl        Stopped                                                                                      10.1s
 ✔ Container harbor-jobservice  Stopped                                                                                       0.2s
 ✔ Container harbor-portal      Stopped                                                                                       0.2s
 ✔ Container harbor-core        Stopped                                                                                       0.2s
 ✔ Container harbor-db          Stopped                                                                                       0.2s
 ✔ Container registry           Stopped                                                                                       0.1s
 ✔ Container redis              Stopped                                                                                       0.3s
 ✔ Container harbor-log         Stopped                                                                                      10.1s
//启动harbor服务
[root@harbor harbor]# docker-compose start
[+] Running 9/9
 ✔ Container harbor-log         Started                                                                                       0.2s
 ✔ Container harbor-portal      Started                                                                                       1.3s
 ✔ Container harbor-db          Started                                                                                       1.1s
 ✔ Container redis              Started                                                                                       1.3s
 ✔ Container registry           Started                                                                                       1.4s
 ✔ Container registryctl        Started                                                                                       0.8s
 ✔ Container harbor-core        Started                                                                                       0.3s
 ✔ Container harbor-jobservice  Started                                                                                       0.5s
 ✔ Container nginx              Started                                                                                       0.6s

//配置harbor服务开机自启
[root@harbor harbor]# vim startall.sh       #写一个开启自动启动的脚本
#!/bin/bash 
cd /usr/local/harbor
docker-compose stop && docker-compose start
[root@harbor harbor]# chmod +x startall.sh   #给脚本执行权限
[root@harbor harbor]# chmod +x /etc/rc.d/rc.local   #rc.local是系统启动之后最后一个执行的文件
[root@harbor harbor]# vim  /etc/rc.d/rc.local     #添加以下内容就可以开机自启了
...
/bin/bash   /root/harbor/startall.sh
...

2.5. 登录harbor的web平台

  • 默认用户名:admin,默认密码:Harbor12345
    在这里插入图片描述

2.6. 登录成功界面

在这里插入图片描述

2.7. 创建用户

  • 系统管理—用户管理—创建用户
    在这里插入图片描述
    在这里插入图片描述

2.8. 创建用户成功,并设置为管理员

在这里插入图片描述

2.9. 点击项目,查看推送命令

在这里插入图片描述
在这里插入图片描述

2.10. 推送镜像至harbor

  • 登录仓库
[root@harbor harbor]# docker login 192.168.2.50
Username: ys
Password:
Error response from daemon: Get "https://192.168.2.50/v2/": dial tcp 192.168.2.50:443: connect: connection refused
  • 解决登录失败方法如下:
  • 默认访问Docker仓库使用443端口,要修改为80端口仓库地址
[root@harbor harbor]# vim /etc/docker/daemon.json
{
"insecure-registries":["192.168.2.50"]
}
//重启harbor服务:
[root@harbor harbor]# docker-compose stop && docker-compose start

//再次登录harbor:
[root@harbor harbor]# docker login 192.168.2.50
Username: ys
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
[root@harbor harbor]# docker pull  nginx

[root@harbor harbor]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
nginx                           latest    f9c14fe76d50   6 days ago    143MB
....

//在项目中标记镜像
[root@harbor harbor]# docker tag nginx:latest  192.168.2.50/library/nginx:v1

[root@harbor harbor]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
192.168.2.50/library/nginx      v1        f9c14fe76d50   6 days ago    143MB
nginx                           latest    f9c14fe76d50   6 days ago    143MB
...
  • 推送镜像到library项目
[root@harbor harbor]# docker push 192.168.2.50/library/nginx:v1
The push refers to repository [192.168.2.50/library/nginx]
4fd834341303: Pushed
5e099cf3f3c8: Pushed
7daac92f43be: Pushed
e60266289ce4: Pushed
4b8862fe7056: Pushed
8cbe4b54fa88: Pushed
v1: digest: sha256:6b06964cdbbc517102ce5e0cef95152f3c6a7ef703e4057cb574539de91f72e6 size: 1571
  • 查看是否推送成功
    在这里插入图片描述

2.11. 拉取镜像

  • 删除原来的镜像
[root@harbor harbor]# docker rmi 192.168.2.50/library/nginx:v1

[root@harbor harbor]# docker rmi nginx:latest

[root@harbor harbor]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
goharbor/harbor-exporter        v2.8.1    bfbbb56f0c0e   3 weeks ago   97.9MB
goharbor/redis-photon           v2.8.1    cb8b735b33ba   3 weeks ago   128MB
goharbor/trivy-adapter-photon   v2.8.1    5314d0e3feb2   3 weeks ago   454MB
goharbor/notary-server-photon   v2.8.1    d11f3ca7e07e   3 weeks ago   113MB
goharbor/notary-signer-photon   v2.8.1    e97556d5f939   3 weeks ago   111MB
goharbor/harbor-registryctl     v2.8.1    c141d82ffd0a   3 weeks ago   141MB
goharbor/registry-photon        v2.8.1    c125efcb6c2a   3 weeks ago   79.1MB
goharbor/nginx-photon           v2.8.1    cea1bb2450ee   3 weeks ago   127MB
goharbor/harbor-log             v2.8.1    145a69b937ca   3 weeks ago   134MB
goharbor/harbor-jobservice      v2.8.1    977ee6bff288   3 weeks ago   141MB
goharbor/harbor-core            v2.8.1    075ed731ac18   3 weeks ago   165MB
goharbor/harbor-portal          v2.8.1    6c2b21221aca   3 weeks ago   134MB
goharbor/harbor-db              v2.8.1    01ca249e7dc2   3 weeks ago   174MB
goharbor/prepare                v2.8.1    4f83854677d4   3 weeks ago   155MB
  • 拉取镜像
[root@harbor harbor]# docker pull 192.168.2.50/library/nginx:v1

[root@harbor harbor]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
192.168.2.50/library/nginx      v1        f9c14fe76d50   6 days ago    143MB
goharbor/harbor-exporter        v2.8.1    bfbbb56f0c0e   3 weeks ago   97.9MB
goharbor/redis-photon           v2.8.1    cb8b735b33ba   3 weeks ago   128MB
goharbor/trivy-adapter-photon   v2.8.1    5314d0e3feb2   3 weeks ago   454MB
goharbor/notary-server-photon   v2.8.1    d11f3ca7e07e   3 weeks ago   113MB
goharbor/notary-signer-photon   v2.8.1    e97556d5f939   3 weeks ago   111MB
goharbor/harbor-registryctl     v2.8.1    c141d82ffd0a   3 weeks ago   141MB
goharbor/registry-photon        v2.8.1    c125efcb6c2a   3 weeks ago   79.1MB
goharbor/nginx-photon           v2.8.1    cea1bb2450ee   3 weeks ago   127MB
goharbor/harbor-log             v2.8.1    145a69b937ca   3 weeks ago   134MB
goharbor/harbor-jobservice      v2.8.1    977ee6bff288   3 weeks ago   141MB
goharbor/harbor-core            v2.8.1    075ed731ac18   3 weeks ago   165MB
goharbor/harbor-portal          v2.8.1    6c2b21221aca   3 weeks ago   134MB
goharbor/harbor-db              v2.8.1    01ca249e7dc2   3 weeks ago   174MB
goharbor/prepare                v2.8.1    4f83854677d4   3 weeks ago   155MB

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

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

相关文章

系列二、MongoDB的安装

一、传统方式安装 1.1、下载安装包 https://www.mongodb.com/try/download/community-kubernetes-operator 1.2、上传至opt目录并解压 tzr -xzvf mongodb-linux-x86_64-rhel70-5.0.18.tgz 1.3、移动mongodb安装包并重命名 mv mongodb-linux-x86_64-rhel70-5.0.18 /usr/local…

【Unity100个实用小技巧】屏幕后处理实现渐隐渐现

☀️博客主页:CSDN博客主页💨本文由 我是小狼君 原创,首发于 CSDN💢🔥学习专栏推荐:面试汇总❗️游戏框架专栏推荐:游戏实用框架专栏⛅️点赞 👍 收藏 ⭐留言 📝&#xf…

35 KVM管理设备-管理虚拟网卡

文章目录 35 KVM管理设备-管理虚拟网卡35.1 概述35.2 操作步骤 35 KVM管理设备-管理虚拟网卡 35.1 概述 虚拟网卡类型主要包含virtio-net、vhost-net、vhost-user等。用户在创建虚拟机后,可能会有挂载或者卸载虚拟网卡的需求。openEuler提供了网卡热插拔的功能&am…

springboot+vue宠物领养系统的设计与实现

随着国内经济的不断发展,人民收入水平的提高以及对于情感需求的日益增强,宠物饲养成为了一种流行趋势。宠物的增多不可避免地造成了流浪宠物的泛滥,它们大多来自被主人遗弃的动物或这些动物繁衍的后代。它们没有管束,游走在人类居…

自定义kong插件golang版本

开发一个go版本的kong 插件,通常需要以下3个步: 基于kong提供的go语言版本的PDK编写并且编译kong插件 --》 在kong的kong.conf文件中配置插件位置 --> 通过kong的admin api来启用插件 一、使用go语言编写kong插件 1、定义Config对象 type Config s…

嵌入式软件测试怎么实现自动化测试?

说起嵌入式软件测试,我们先快速了解一下嵌入式软件自身的特点。嵌入式软件具有实时性、内存空间有限、I/O通道少,而且要求功耗低、高可靠性,对成本也比较敏感,和硬件关联性强等特点。因此,嵌入式软件的测试与一般商用软…

【Vue】data属性,v-for,diff算法,composition API

❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 Vue3data属性插值语法修饰符v-modelv-for虚拟DOMdiff算法 响应式原理v-for中的keynextTick comp…

Vue3 小兔鲜:项目起步

Vue3 小兔鲜:项目起步 Date: May 31, 2023 创建项目并整理目录 npm init vuelatestsrc目录调整 需要补充创建以下文件: git 管理项目 基于create-vue 创建出来的项目默认没有初始化git仓库,需要我们手动初始化 执行命令井完成首次提交 …

通过脚本将本地文件上传到服务器 WinSCP

通过脚本将本地文件上传到服务器 准备工作 安装好WinSCP软件。服务器上配置了Java环境。 编写脚本 以下是一个使用WinSCP软件的脚本示例,用于将本地的JAR包上传到服务器并启动: echo offset WINSCP_PATH"C:\Program Files (x86)\WinSCP\WinSCP.…

中国人民大学与加拿大女王大学金融硕士项目——在职读金融硕士,没想到收获这么多

随着社会经济的快速发展,金融专业的报考越来越受欢迎。近些年来,市场对于金融专业的高端人才需求不断增加。工作多年的金融人或有计划跳槽到金融领域的群体,都想通过业余时间充电以增强在金融行业的竞争力。在职读金融硕士有用吗?…

基于Element的Select下拉选组件(支持快速全选)

Select下拉选增强 支持快速多选、tooltip等 示例图 1. quicklySelectAll: boolean 在多选模式下支持快速全选取消全选,默认开启 <template><div id"app"><div class"container"><el-form ref"formRef" :model"formD…

Framework开发环境搭建

Framework开发环境搭建 开启Android Framework之旅&#xff0c;一步步记录自己学习过程。 硬件配置 RAM&#xff1a;最低16GB&#xff0c;建议32GB&#xff0c;有条件64GB&#xff0c;内存越高&#xff0c;编译时间越短ROM&#xff1a;最低400GB&#xff0c;代码250GB构建15…

第八篇、基于Arduino uno,获取MAX30102心率传感器的心率信息——结果导向

0、结果 说明&#xff1a;先来看看串口调试助手显示的结果&#xff0c;第一个值是原始的IR值&#xff0c;第二个值是实时的心跳&#xff0c;第三个值是平均心跳&#xff0c;如果是你想要的&#xff0c;可以接着往下看。 1、外观 说明&#xff1a;MAX30102心率传感器的外观如下…

Linux:开机自动挂载磁盘出错 两种解决办法 /etc/fstab

假如在/etc/fstab文件中有一个错误的语句 但是我们假装不知道&#xff0c;直接给他重启 第一种 开机自动进入到一个这样的界面 在这我们直接输入root的密码 进入到root下 直接 vi /etc/fstab 先将错误的删除掉&#xff0c;等正常开机了再去做挂载 然后重启 正常进入系统 第二…

基于机智云物联网平台的智能种树小车

前言:针对目前人工种树效率低的问题&#xff0c;设计了一种全自助高效智能种树小车。介绍了装置的结构组成&#xff0c;剖析了装置的运动机理。通过SolidWorks三维软件对传动部件进行了结构设计。 利用蓝牙模块实现了种植过程的信息传递、发送命令等&#xff0c;物联网机智云模…

Fiddler+Proxifer 实现PC端软件的抓包

FIddlerProxifer 实现PC端软件的抓包 下载Proxifer https://www.proxifier.com/download/ Proxifier配置 默认是关闭HTTP协议的&#xff0c;使用需要配置开启&#xff0c;配置文件->高级->HTTP代理服务器->启用HTTP代理服务器支持 配置Proxifer代理服务器&#x…

4.数据结构期末复习之森林和最优二叉树(哈夫曼树)

1.森林的定义&#xff1a;m>0 颗互不相交的树的集合 //树和森林的区别 2.森林的遍历 for森林里的树(前序和后序遍历) 3.树转二叉树(兄弟连起来,去右线) 1.兄弟之间加线(树和树之间不加) 2.右孩子去线(只保留第一个结点的线) 3.顺时针调整45度位置变成二叉树 4.森林转二叉…

网络安全 2023 年为什么如此吃香?事实原来如此.....

前言 由于我国网络安全起步晚&#xff0c;所以现在网络安全工程师十分紧缺。俗话说:没有网络安全就没有国家安全 为什么选择网络安全&#xff1f; 十四五发展规划建议明确提出建设网络强国&#xff0c;全面加强网络安全保障体系和能力建设&#xff0c;加强网络文明建设&#x…

OpenGl之变换

目录 缩放 位移 齐次坐标(Homogeneous Coordinates) 旋转 缩放 对一个向量进行缩放(Scaling)就是对向量的长度进行缩放&#xff0c;而保持它的方向不变。由于我们进行的是2维或3维操作&#xff0c;我们可以分别定义一个有2或3个缩放变量的向量&#xff0c;每个变量缩放一个轴…

软件测试之-测试用例写作规范

软件测试用例得出软件测试用例的内容&#xff0c;其次&#xff0c;按照软件测试写作方法&#xff0c;落实到文档中&#xff0c;两者是形式和内容的关系&#xff0c;好的测试用例不仅方便自己和别人查看&#xff0c;而且能帮助设计的时候考虑的更周。 一个好的测试用例必须包含…