【云原生】Docker 实践(五):搭建私有镜像 Harbor

【Docker 实践】系列共包含以下几篇文章:

  • Docker 实践(一):在 Docker 中部署第一个应用
  • Docker 实践(二):什么是 Docker 的镜像
  • Docker 实践(三):使用 Dockerfile 文件构建镜像
  • Docker 实践(四):使用 Dockerfile 文件的综合案例
  • Docker 实践(五):搭建私有镜像 Harbor

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

Docker 实践(五):搭建私有镜像 Harbor

  • 1.安装 Docker Compose
  • 2.安装与配置 Harbor
  • 3.在 Docker 中使用 Harbor

Harbor 是由 VMware 公司开发并开源的企业级的 Docker 镜像仓库的管理项目,它包括镜像的 权限管理(RBAC)、目录访问(LDAP)、日志审核管理界面自我注册镜像复制中文支持 等功能。

为了更好地演示 Harbor 的安装和部署,应该单独准备一台虚拟机或服务器作为运行 Harbor 的主机。

1.安装 Docker Compose

在 Harbor 的主机上关闭 Linux 防火墙和 SELinux。

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

在这里插入图片描述

配置 Harbor 的主机的主机名和 IP 地址的映射,编辑文件 /etc/hosts 加入以下内容(如果是云服务器的话,xxx.xxx.xx.xx 表示外网地址)。

xxx.xxx.xx.xx my.harbor.com

安装 Docker Compose。以下指令将从 GitHub 下载服务编排工具 Docker Compose,并保存到本地的 /usr/local/bin/docker-compose 文件中(下载下来的 docker-compose-linux-x86_64 会被重命名为 docker-compose)。

curl -L https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

给 Docker Compose 加上可执行权限。

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

在这里插入图片描述

确定 Docker Compose 的版本信息。

docker-compose version

在这里插入图片描述

注意:其实这两条命令指向的 Compose Version 并不一样。下面一个指向的是安装 Docker 时自带的 docker-compose-plugin

在这里插入图片描述

2.安装与配置 Harbor

从 GitHub 下载 Harbor 的安装文件,这里使用的是 Harbor 1.6.2 版本。

wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.2.tgz

在这里插入图片描述
在这里插入图片描述
将 Harbor 安装文件解压缩到 /root/training/ 目录下。

mkdir /root/training/
tar -zxvf harbor-offline-installer-v1.6.2.tgz -C /root/training/

进入 /root/training/harbor 目录下。

cd /root/training/harbor

在这里插入图片描述
编辑 Harbor 的核心配置文件 harbor.cfg。下面展示了需要修改的参数值:将 Harbor 监听的地址设置为本机的主机名,并设置了 Harbor 管理员的登录密码(下面这两个参数在配置文件中都存在,请直接修改,不要注释掉原来的参数配置再新增一行,否则可能会与预期不符)。

# 监听的地址
hostname = my.harbor.com
# 管理员的登录密码
harbor_admin_password = Welcome_1

执行脚本安装 Harbor。

./install.sh

因为之前 docker-compose 安装的有点问题,报错了。

在这里插入图片描述

重新安装 docker-compose 后,再次执行脚本。

在这里插入图片描述

如果成功安装,将会启动 8 个容器。

在这里插入图片描述

这里踩了一个坑:虽然前文设置了 harbor_admin_password = Welcome_1,但 Harbor 配置文件中默认有一个 harbor_admin_password = Harbor12345,从而导致前面配置的密码未生效,登录失败了。

在这里插入图片描述

在这里插入图片描述

使用默认的密码,登录成功(不安全,请及时修改为强密码)。

在这里插入图片描述

3.在 Docker 中使用 Harbor

我们配置了私有镜像仓库 Harbor,但是我们还需要在 Docker 的客户机上进行设置才能使用它(我又找了一台服务器作为 Docker 的客户机)。

将 Harbor 主机的主机名和 IP 地址写入 Docker 客户机的 /etc/hosts 文件中。

xxx.xxx.xx.xx my.harbor.com

/etc/docker/daemon.json 文件中添加相关参数(如果该文件不存在,则需要新建),在该文件中指定私有镜像仓库的地址。

"insecure-registries":["my.harbor.com"]

重启 Docker 服务。

systemctl daemon-reload
systemctl restart docker

使用 docker login 命令登录私有镜像仓库。

在这里插入图片描述

创建一个简单的 Dockerfile 文件进行测试。

FROM centos
ENV TZ "Asia/Shanghai"

使用 docker build 命令编译 Dockerfile 文件生成镜像。

docker build -t my.harbor.com/library/mycentos .

在这里插入图片描述

使用 docker images 命令查看生成的镜像。

在这里插入图片描述

执行以下命令将镜像上传到私有镜像仓库 Harbor 中。

docker push my.harbor.com/library/mycentos

在这里插入图片描述
在 Harbor 的 Web 主页查看上传的镜像信息。可以看到成功将生成的 mycentos 镜像保存到了私有仓库中。

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

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

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

相关文章

如何在Mac上恢复格式化硬盘的数据?

“嗨,我格式化了我的一个Mac硬盘,而没有使用Time Machine备份数据。这个硬盘被未知病毒感染了,所以我把它格式化为出厂设置。但是,我忘了备份我的文件。现在,我想恢复格式化的硬盘驱动器并恢复我的文档,您能…

AJ-Report开源数据大屏 verification;swagger-ui RCE漏洞复现

0x01 产品简介 AJ-Report是一个完全开源的BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。多数据源支持,内置mysql、elasticsearch、kudu等多种驱动,支持自定义数据集省去数据接口开发,支持17+种大屏组件,不会开发,照着设计稿也可以制作大屏。三…

SVM单类异常值检测

SVM是一种广泛使用的分类器,通常用于二分类或多分类问题。然而,在异常点检测的场景中,我们通常会将数据视为一个类别(即正常数据点),并尝试找到那些与正常数据点显著不同的点(即异常点&#xff…

Vue Vant 移动端如何禁止手机调起自带的输入键盘

前言 前不久在公司用Vue2开发了一个手机充值项目,键盘组件用的vant2的NumberKeyboard 数字键盘组件;上线后在IOS端只有一个vant数字键盘组件,但到了Android端,输入框一获取焦点不仅vant数字键盘弹出,连手机自带的键盘…

华为平板手机如何清理应用市场的存储空间

如何清理应用市场的存储空间 适用产品: 手机,平板 适用版本:不涉及系统版本 如果您的应用市场显示应用的数据较大,可能是下载的安装包没有安装成功,导致安装包未自动删除。(可参考:应用市场下…

117篇 | 3D Gaussian Splatting论文

本论文集划分为4个部分:综述&基础(14篇)、NeRF在AIGC(54篇)、NeRF在SLAM(自动驾驶)(25篇)、NeRF之场景建模(25篇) https://t.zsxq.com/3ATyE…

【UnityRPG游戏制作】NPC交互逻辑、动玩法

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…

R语言数据探索与分析-运用时间序列预测模型对成都市API进行预测分析

一、研究背景 “绿水青山就是金山银山,要让绿水青山变成金山银山”让人们深刻的意识到环境的重要性。与此同时,由于现代生活水平的不断提高,所带来的环境污染也不断增多,空气以及环境的污染带来了越来越多的疾病,深刻…

vue2项目webpack3.x打包文件分割优化加载

vue2项目webpack3.x打包文件分割优化加载 0. 项目目录和依赖信息1. 开启 gzip(建议)2. vue2项目配置懒加载(建议)3. 拆分 vendor 包注意:webpack3使用CommonsChunkPlugin实现 本文使用 3 种方案进行叠加优化 优先级按以…

AI大模型探索之路-训练篇11:大语言模型Transformer库-Model组件实践

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

39 死锁

目录 1.死锁 2.线程同步 3.条件变量 4.案例 死锁 概念 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占用不会释放的资源而处于的一种永久等待状态 四个必要条件 互斥条件:一个资源每次只能被一个执行流使用 请求…

如何快速搭建nginx服务

华子目录 nginx简介概念特点nginx框架nginx关键工作机制 nginx正向代理功能nginx反向代理功能nginx反向代理的工作流程代理本质 nginx负载均衡部署nginx常用命令systemctl系列nginx自带命令 nginx配置文件主配置文件/etc/nginx/nginx.conf内容结构模块分析配置分析注意示例 ngi…

tomcat打开乱码修改端口

将UTF-8改成GBK 如果端口冲突,需要修改tomcat的端口

电脑找不到msvcp140.dll如何修复?msvcp140.dll丢失的多种解决方法分享

在日常电脑操作过程中,用户可能会遇到一个令人困扰的问题,即屏幕上突然弹出一条错误提示:“由于找不到msvcp140.dll,无法继续执行代码”。这一情况往往导致应用程序无法正常启动或运行,给工作和娱乐带来不便。不过&…

ps科研常用操作,制作模式图 扣取想要的内容元素photoshop

复制想要copy的图片, 打开ps---file-----new ,ctrolv粘贴图片进入ps 选择魔棒工具,点击想要去除的白色区域 然后,cotrol shift i,反选, ctrol shiftj复制,复制成功之后,一定要改…

Vitis HLS 学习笔记--HLS眼中的完美循环嵌套

目录 1. 简介 2. 示例 2.1 不完美循环 2.2 完美循环 2.3 HLS 眼中的循环 3. 总结 1. 简介 在处理嵌套循环时(HDL或HLS工具中),优化循环结构对于实现最佳性能至关重要。嵌套循环的性能优化直接影响着计算的时延和资源利用率。创建完美嵌…

Stable Diffusion学习线路,提示词及资源分享

1. 提示词的基础概念 提示词分为正面提示词(Prompts)和反面提示词(Negative Prompts)。正面提示词代表你希望画面中出现的内容,而反面提示词代表你不希望画面中出现的内容。提示词通常是以英文书写,最小单…

nginx--压缩https证书favicon.iconginx隐藏版本号 去掉nginxopenSSL

压缩功能 简介 Nginx⽀持对指定类型的⽂件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相应的CPU资源…

逻辑回归实战 -- 是否通过考试

http://链接: https://pan.baidu.com/s/1-uy-69rkc4WjMpPj6iRDDw 提取码: e69y 复制这段内容后打开百度网盘手机App,操作更方便哦 数据集下载链接 这是个二分类问题,通过x1,x2两个指标得出是否通过考试的结论。 逻辑回归的激活函数是sigmoid函数&…

用git上传本地文件到github

两种方式:都需要git软件(1)VScode上传 (2)直接命令行,后者不需要VScode软件 (1)vscode 上传非常方便,前提是下载好了vscode和git软件 1 在项目空白处右击,弹…