飞天使-docker知识点4-harbor

文章目录

          • 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-composechmod +x /usr/local/bin/docker-compose
docker-compose --versionharbor.yml 就是harbor的配置文件
harbor的数据目录为/data
编辑harbor.yml,修改hostname、https证书路径、admin密码如果是http  则将https 全部注释了,包括证书路径注意:每次修改完配置文件后都需要运行
./prepare 
然后在运行
./install.shharbor.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-storeLogin Succeeded登录的账号密码 保存在这里了
cat /root/.docker/config.jsonharbor支持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.mzph.cn/news/227068.shtml

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

相关文章

C++初阶-list类的模拟实现

list类的模拟实现 一、基本框架1.1 节点类1.2 迭代器类1.3 list类 二、构造函数和析构函数2.1 构造函数2.2 析构函数 三、operator的重载和拷贝构造3.1 operator的重载3.2 拷贝构造 四、迭代器的实现4.1 迭代器类中的各种操作4.1 list类中的迭代器 五、list的增容和删除5.1 尾插…

Visual Studio 2022封装C代码为x64和x86平台动态库

1.引言 本文介绍如何使用Visual Studio 2022将C语言函数封装成x64和x86平台上使用的动态链接库(dll文件)并生成对应的静态链接库(lib文件),以及如何在C程序中调用生成的dll。 程序下载: 2.示例C语言程序 假设需要开发一个动态链接库,实现复…

for-each循环优先于传统的for循环

在大多数情况下,使用 for-each 循环(也称为增强型 for 循环)比传统的 for 循环更加简洁和方便。它提供了一种更直观的方式来遍历集合或数组中的元素。以下是一个例子,展示了 for-each 循环优于传统 for 循环的情况: i…

AI智能配音助手微信小程序前后端源码支持多种声音场景选择

大家好今天给大家带来一款配音小程序 ,这款小程序支持多种不同声音和场景的选择更人性化, 比如说支持各地区的方言,英文,童声呀等等、 另外也支持男声女声的选择,反正就是模板那些非常的多 当然啦音量,语调,语速那些都是可以DIY跳转的哟,所以说这一款小程…

python每日学11:xpath的使用与调试

背景:最近在使用selenium 模拟浏览器作一些常规操作,在使用selenium的过程中接触到的一种定位方法,叫xpath, 这里说一下使用心得。 首先,我觉得如果只是简单使用的话是不用详细了解具体的语法规则的。 一、xpath怎么用&#xff1…

树莓派(Raspberry Pi)4B密码忘记了,怎么办?

树莓派长时间不用,导致密码忘记了,这可咋整? 第1步:取出SD卡 将树莓派关机,移除sd卡,使用读卡器,插入到你的电脑。 第2步:编辑 cmdline.txt 在PC上打开SD卡根目录,启动…

【星环云课堂大数据实验】kafka消息发布与订阅

文章目录 一、Kafka概述二、实验环境三、实验准备四、实验目的五、实验步骤5.1、创建Kafka Topic5.2、Kafka消息发布5.3、Kafka消息订阅 六、实验感悟 一、Kafka概述 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实…

内存的管理、扩充、存储保护、地址转换、分配和回收

一、 内存的存储保护 1.1 上、下限寄存器方式: 上、下限寄存器(Limit Registers):这是一种硬件级别的内存保护机制。每个进程都有一对上、下限寄存器,用于定义该进程能够访问的内存范围。上限寄存器存储进程能够访问的…

【Android12】WindowManagerService架构分析

Android WindowManagerService架构分析 WindowManagerService(以下简称WMS) 是Android的核心服务。WMS管理所有应用程序窗口(Window)的Create、Display、Update、Destory。 因为Android系统中只有一个WMS(运行在SystemServer进程),可以称其为…

快宝技术:连接无代码开发,API集成提升电商营销和用户运营效率

无代码开发:创新的启航 快宝技术自2012年成立至今,一直是无代码开发领域的佼佼者。通过无代码开发平台,快宝技术旨在降低技术门槛,并使非技术人员能够轻松创建和部署应用程序。这不仅使得快递末端软件开发变得高效和便捷&#xf…

vue3.0项目搭建

一、安装vue3脚手架 卸载vue2脚手架 npm uninstall -g vue-cli清除缓存 npm cache clen --force安装最新脚手架 npm install -g vue/cli查看脚手架版本 vue -V 二、构建项目 创建项目 vue create 项目名选择配置 自定义配置,回车 上下键选择Linter / Formatter&a…

DC-2靶场

DC-2 下载地址:DC and Five86 Series Challenges - Downloads​编辑https://www.five86.com/downloads.html DC-2环境配置:解压后在vm虚拟机点击左上方文件-->打开-->选择解压后的DC-2。把kali和DC-2的网路适配器都改成NAT模式 flag1 首先进行主…

【教程】从零开始的ORB-SLAM3的安装与配置

引言 最近项目需求需要接触vslam,博主选择从ORB-SLAM3下手并且记录下安装的基本流程。不得不说,这安装流程就像二大娘的裹脚布。 大致环境前提:Ubuntu20.04 一、ORB-SLAM3的源码下载 1、首先,为了方便管理文件,我们…

面向对象三大特征之二:继承

继承的快速入门 什么是继承? Java中提供了一个关键字extends,用这个关键字,可以让一个类与另一个类建立起父子关系 继承的特点 子类能继承父类的非私有成员(成员变量、成员方法) 继承后对象的创建 子类的对象是由…

MyBatis Plus 大数据量查询优化

大数据量操作的场景大致如下: 数据迁移 数据导出 批量处理数据 在实际工作中当指定查询数据过大时,我们一般使用分页查询的方式一页一页的将数据放到内存处理。但有些情况不需要分页的方式查询数据或分很大一页查询数据时,如果一下子将数…

RTX 40 SUPER发布时间定了!价格也有了

快科技12月16日消息,NVIDIA RTX 40 SUPER系列显卡基本确定将在2024年1月8日正式发布,也就是CES 2024大展期间,随后在1月中下旬陆续解禁上市。 RTX 4070 SUPER 1月16日解禁公版/原价丐版,1月17日解禁高价高配版,上市开…

测试架构师必备技能-Nginx安装部署实战

Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的免费开源Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高并发访问的情况下,Nginx是Apache服务器不错的替代品。官网数据显示每秒TPS高达50W左右。本文为读者朋…

FPGA设计时序约束十二、Set_Clock_Sense

目录 一、序言 二、Set Clock Sense 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、工程示例 3.1 工程代码 3.2 无set_clock_sense 3.3 设置set_clock_sense 四、参考资料 一、序言 本章将介绍Set_Clock_Sense约束,在介绍约束之前&#xff0…

《Kotlin核心编程》笔记:反射、注解和加锁

Kotlin 和 Java 反射 1)Kotlin 的 KClass 和 Java 的 Class 可以看作同一个含义的类型,并且可以通过.java和.kotlin方法在KClass和Class之间互相转化。2)Kotlin 的 KCallable 和 Java 的 AccessiableObject 都可以理解为可调用元素。Java 中构…