飞天使-docker知识点4-harbor

news2025/1/11 18:05:24

文章目录

          • Harbor
          • 安装完成harbor 官方建议方式之后查看 images
          • 配置docker 使用harbor 仓库上传下载镜像
          • docker 镜像结合harbor 运行

Harbor


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


误区一: Harbor是负责存储容器镜像的 (Harbor是镜像仓库,那么它就应当是存储镜像的)
其实关于镜像的存储,Harbor使用的是官方的docker registry服务去完成,至于registry是用本地存储或者s3都是可以的,Harbor的功能是在此之上提供用户权限管理、镜像复制等功能,提高使用的registry的效率。

误区二:Harbor镜像复制是存储直接复制 (镜像的复制,很多人以为应该是镜像分层文件的直接拷贝)
其实Harbor镜像复制采用了一个更加通用、高屋建瓴的做法,通过docker registry 的API去拷贝,这不是省事,这种做法屏蔽了繁琐的底层文件操作、不仅可以利用现有docker registry功能不必重复造轮子,而且可以解决冲突和一致性的问题。


下载地址:https://github.com/goharbor/harbor/releases
直接选择编译好的包
 
cd /usr/local/src
wget https://github.com/goharbor/harbor/releases/download/v2.7.3/harbor-offline-installer-v2.7.3.tgz
解压
ln -sv /usr/local/src/harbor /usr/local/harbor

安装docker-compose 

curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
docker-compose --version


harbor.yml 就是harbor的配置文件
harbor的数据目录为/data
编辑harbor.yml,修改hostname、https证书路径、admin密码

如果是http  则将https 全部注释了,包括证书路径

注意:每次修改完配置文件后都需要运行
./prepare 
然后在运行
./install.sh


harbor.yml 配置文件如下

# 配置如下
hostname: harbor.test.com
port: 9010
harbor_admin_password: phpdev-pass
# The location to store harbor's data
data_volume: /usr/src/harbor/data
# The directory to store store log
location: /var/log/harbor
 

安装完成harbor 官方建议方式之后查看 images


[root@light-test ~[]# docker images
REPOSITORY                      TAG         IMAGE ID       CREATED        SIZE
nginx                           v1          35b319a48e3b   24 hours ago   669MB
tomcat                          latest      e76527586e57   11 days ago    454MB
goharbor/harbor-exporter        v2.7.3      44f17702b0d6   3 months ago   96.9MB
goharbor/chartmuseum-photon     v2.7.3      e21f928bea75   3 months ago   229MB
goharbor/redis-photon           v2.7.3      68ef52d98298   3 months ago   120MB
goharbor/trivy-adapter-photon   v2.7.3      aabf279df9cc   3 months ago   463MB
goharbor/notary-server-photon   v2.7.3      992cbac9892b   3 months ago   113MB
goharbor/notary-signer-photon   v2.7.3      e384f965170c   3 months ago   110MB
goharbor/harbor-registryctl     v2.7.3      0adcdbbc67c8   3 months ago   140MB
goharbor/registry-photon        v2.7.3      91fa7c3c922c   3 months ago   78.7MB
goharbor/nginx-photon           v2.7.3      a780e583d37f   3 months ago   116MB
goharbor/harbor-log             v2.7.3      48a9ddf4a380   3 months ago   128MB
goharbor/harbor-jobservice      v2.7.3      265eda6d72aa   3 months ago   260MB
goharbor/harbor-core            v2.7.3      1a415c050c9c   3 months ago   222MB
goharbor/harbor-portal          v2.7.3      9a0f808a9eed   3 months ago   125MB
goharbor/harbor-db              v2.7.3      731c8c0fe6ca   3 months ago   174MB
goharbor/prepare                v2.7.3      36fd5b190502   3 months ago   168MB
mysql                           latest      99afc808f15b   4 months ago   577MB
mysql                           5.7         92034fe9a41f   4 months ago   581MB
jenkins/jenkins                 lts-jdk11   a40a8916af1d   4 months ago   471MB


登录 注意启动的配置文件 harbor.yml 里面配置

停止服务: docker-compose stop
开始服务: docker-compose start
重启服务:docker-compose restart
停止服务并删除容器:docker-compose down
启动服务并运行容器:docker-compose up


在这里插入图片描述

配置docker 使用harbor 仓库上传下载镜像
注意:如果我们配置的是 https 的话,本地 docker 就不需要有任何操作就可以
访问 harbor

如果是http 则需要编辑如下文件

如下,在/etc/docker/daemon.json文件里添加"insecure-registries"配置。(如果还不行,可以尝试将下面添加的地址由"172.16.60.213"改为"http://172.16.60.213")
[root@docker-client ~]# vim /etc/docker/daemon.json
{
    "insecure-registries": [
        "38.50.0..0:8888"
      ]
}

/etc/hosts 文件添加一个域名的解析
 
 [root@light-test harbor[]# docker login 38.50.0..0:8888
Username: admin
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

登录的账号密码 保存在这里了
cat /root/.docker/config.json


harbor支持http和https,但如果使用http的话,在拉取镜像的时候,会抛出仓库不受信任的异常。
需要在所有的docker客户端的docker配置文件/etc/docker/daemon.json中添加如下配置:

{
    "insecure-registries": ["https://*.*.*.*"]
}


docker info 中查看 是不是配置好了harbor 地址查看 Insecure Registries: 选项参数

在这里插入图片描述

docker 镜像结合harbor 运行
[root@light-test ~[]# docker tag nginx:v1 38.0.0.3:8888/nginx/nginxv1
[root@light-test ~[]# docker push 38.0.0.3:8888/nginx/nginxv1
Using default tag: latest
The push refers to repository [38.0.0.3:8888/nginx/nginxv1]
756b20a16ba8: Pushed
3c057e1b7942: Pushed
b17962786f9c: Pushed
072efff24baf: Pushed
51646e2b38b3: Pushed
7bf293509842: Pushed
fb82b029bea0: Pushed
latest: digest: sha256:4d414e6bd375797e730cb52712d3802e8b1be5cbaba7171e47745776a5e8af40 size: 1787
[root@light-test ~[]# docker pull 38.0.0.3:8888/nginx/nginx
-bash: dockr: 未找到命令
[root@light-test ~[]# docker pusll 38.0.0.3:8888/nginx/nginx
docker: 'pusll' is not a docker command.
See 'docker --help'
[root@light-test ~[]# docker pull 38.0.0.3:8888/nginx/nginx
Using default tag: latest
latest: Pulling from nginx/nginx
Digest: sha256:4d414e6bd375797e730cb52712d3802e8b1be5cbaba7171e47745776a5e8af40
Status: Downloaded newer image for 38.0.0.3:8888/nginx/nginx:latest
38.0.0.3:8888/nginx/nginx:latest
[root@light-test ~[]# docker images
REPOSITORY                      TAG         IMAGE ID       CREATED        SIZE
38.0.0.3:8888/nginx/nginx     latest      35b319a48e3b   40 hours ago   669MB
38.0.0.3:8888/nginx/nginxv1   latest      35b319a48e3b   40 hours ago   669MB

在这里插入图片描述

参考文档: https://www.cnblogs.com/quqibinggan/p/16880549.html
马哥

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

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

相关文章

55 代码审计-JAVA项目注入上传搜索或插件挖掘

目录 必备知识点演示案例:简易Demo段SQL注入及预编译IDEA审计插件FindBugs安装使用Fortify_SCA代码自动审计神器使用Ofcms后台SQL注入-全局搜索关键字Ofcms后台任意文件上传-功能点测试 涉及资源: 我们一般针对java项目,进行漏洞分析的话,主要…

关于“Python”的核心知识点整理大全26

目录 10.3.9 决定报告哪些错误 10.4 存储数据 10.4.1 使用 json.dump()和 json.load() number_writer.py number_reader.py 10.4.2 保存和读取用户生成的数据 对于用户生成的数据,使用json保存它们大有裨益,因为如果不以某种方式进行存储&#xf…

LeetCode - 460 LFU缓存(Java JS Python)

题目来源 460. LFU 缓存 - 力扣(LeetCode) 题目描述 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key)…

[软件] Beyond Compare4

界面简介 文件夹比较, 文本比较, 合并等非常有用的软件, 尤其是在对比代码上面, 有时候很难找到自己的代码和别人的代码到底哪里出现了区别, 这个软件就非常有效了.

智能制造网络:连接未来制造业

数字化在制造业中已经成为国家战略和行业升级的显著趋势。其影响不仅深刻地触及到个人生活,也在国家层面产生了重大影响,涉及经济、国防和军事等多个领域。在制造业数字化转型的进程中,构建坚实的基础网络被视为确保数字化生产全过程顺畅运作…

什么胶能粘PP塑料?

在日常生活中或实际制造业中,会遇到需要将PP塑料(聚丙烯)与其他物质粘合的情况,我们会选择使用胶水来粘合。那么,究竟什么样的胶水能更好的粘合PP塑料呢? PP塑料是一种非极性材料,表面通常比较…

【兔子王赠书第12期】赠ChatGPT中文范例的自然语言处理入门书

文章目录 写在前面自然语言处理图书推荐图书简介编辑推荐 推荐理由粉丝福利写在后面 写在前面 小伙伴们好久不见吖,本期博主给大家推荐一本入门自然语言处理的经典图书,一起来看看吧~ 自然语言处理 自然语言处理(Natural Language Process…

Linux---远程登录、远程拷贝命令

1. 远程登录、远程拷贝命令的介绍 命令说明ssh远程登录scp远程拷贝 2. ssh命令的使用 ssh是专门为远程登录提供的一个安全性协议,常用于远程登录,想要使用ssh服务,需要安装相应的服务端和客户端软件,当软件安装成功以后就可以使…

百分比组件 - elementui改动

<el-slider v-model"value2" style"width: 87%;position: absolute;bottom: 9px;" disabled :show-tooltip"false"></el-slider>value2: 0,// 百分比条 ::v-deep .el-slider__runway.disabled .el-slider__bar {background-color: #…

饥荒Mod 开发(十一):修改物品堆叠

饥荒Mod 开发(十)&#xff1a;制作一把AOE武器 饥荒Mod 开发(十二)&#xff1a;一键制作 饥荒中物品栏有限&#xff0c;要拾取的物品有很多&#xff0c;经常装不下要忍痛丢掉各种东西&#xff0c;即使可以将物品放在仓库但是使用不方便&#xff0c;所以可以将物品的堆叠个数设…

springcloud:对象存储组件MinIO

类似于FastDFS/HDFS的一个文件存储服务&#xff01; SpringBoot整合MinIO实现分布式文件服务&#xff01; #MinIO简介&#xff1f; Minio 是个基于 Golang 编写的开源对象存储套件&#xff0c;基于Apache License v2.0开源协议&#xff0c;虽然轻量&#xff0c;却拥有着不错的…

低代码开发平台的优势及应用场景分析

文章目录 低代码是什么&#xff1f;低代码起源低代码分类低代码的能力低代码的需求市场需要专业开发者需要数字化转型需要 低代码的趋势如何快速入门低代码开发低代码应用领域 低代码是什么&#xff1f; 低代码&#xff08;Low-code&#xff09;是著名研究机构Forrester于2014…

JS中的模板字符串(ES6中的模板字面量语法),什么是模板字符串、怎么使用,附代码演示

模板字符串 1、JavaScript 在 ES6 新增了模板字符串语法。模板字符串可以作为普通字符串使用&#xff0c;其作用是可以在字符串中换行&#xff08;也就是支持多行字符串&#xff09;以及将变量和表达式插入字符串。 2、整个语法&#xff1a;使用反引号 &#xff0c;而不是单引…

如何绘制甘特图?

甘特图(Gantt chart) 又叫横道图、条状图(Bar chait)。它是在第一次世界大战时期发明的&#xff0c;以亨利I甘特先生的名字命名&#xff0c;他制定了一个完整地用条形图表进度的标志系统。甘特图内在思想简单&#xff0c;即以图示的方式通过活动列表和时间刻度形象地表示出任何…

【C++高阶(七)】C++异常处理的方式

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; 异常处理的方式 1. 前言2. C语言处理异常的方式…

【密码学】群的证明(习题)

0.前置知识 1.习题 记录一次密码学作业~群的判定 2.求解

Chrome2023新版收藏栏UI改回旧版

版本 120.0.6099.109&#xff08;正式版本&#xff09;Chrome浏览器菜单新版、旧版的差异 想要将书签、功能内容改回旧版的朋友可以网址栏输入&#xff1a;「chrome://flags」&#xff0c;接着搜寻「Chrome Refresh 2023」。 最后将 Chrome Refresh 2023、Chrome Refresh 2023…

HNU-数据库系统-实验1-数据定义/数据操纵

数据库系统 课程实验1数据定义/数据操纵 计科210X 甘晴void 202108010XXX 目录 文章目录 数据库系统 课程实验1<br>数据定义/数据操纵实验目的实验样例实验环境实验内容1.1 数据库定义1&#xff09;实验内容与要求2&#xff09;实验重难点3&#xff09;实验基础知识①模…

【JAVA-Day69】抛出异常的精髓:深度解析 throw、throws 关键字,优雅处理异常问题

抛出异常的精髓&#xff1a;深度解析 throw、throws 关键字&#xff0c;优雅处理异常问题 &#x1f680; 抛出异常的精髓&#xff1a;深度解析 throw、throws 关键字&#xff0c;优雅处理异常问题 &#x1f680;一、什么是抛出异常 &#x1f60a;二、如何抛出异常 &#x1f914…

复合型下拉框

element只提供了复合型输入框&#xff0c;复合型下拉框的效果&#xff0c;我是通过button与el-select拼接形成的&#xff0c;代码如下&#xff1a; <div class"form"><button class"btn">是否需要审核</button><el-select v-model&q…