Docker进阶:使用Docker部署Harbor私有镜像仓库

Docker进阶:使用Docker部署Harbor私有镜像仓库

  • 1、安装Docker和Docker Compose
    • 1、安装Docker、Docker Compose
    • 2、验证Docker和Docker Compose是否成功安装
    • 3、先启动运行docker服务
  • 2、下载并配置Harbor
    • 1、下载最新版本的Harbor离线安装包
    • 2、配置Harbor的主机名和管理员密码
    • 3、配置Harbor的存储方式(本地存储)
  • 3、部署、配置Harbor(https访问)
    • 1、执行以下命令启动安装Harbor服务
    • 2、列出所有服务
    • 3、 Web 页面测试访问
  • 4、镜像推送和管理
    • 1、登录到 Docker Harbor镜像仓库
    • 2、使用Docker客户端推送镜像到Harbor
    • 3、例子:将 nginx镜像推送到名为 library的镜像仓库
    • 4、拉取镜像


💖The Begin💖点点关注,收藏不迷路💖

Harbor是一个开源的企业级Docker Registry服务器,提供了安全的镜像管理功能,支持用户和角色的管理、访问控制、以及活动审计等特性。通过搭建Harbor,我们可以方便地管理和共享Docker镜像,适用于企业内部的应用部署和开发团队的协作。

在本篇博客中,我们将学习如何使用Docker来部署Harbor私有镜像仓库。

1、安装Docker和Docker Compose

首先,确保你的服务器上已经安装了Docker和Docker Compose。如果没有安装,可以按照以下步骤进行安装:

1、安装Docker、Docker Compose

1、安装Docker
yum install docker-ce docker-ce-cli containerd.io2、安装Docker Compose
# 官网安装
sudo curl -L "https://github.com/docker/compose/releases/download/<VERSION>/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose--将<VERSION>替换为实际的版本号,$(uname -s)-$(uname -m) 为实际系统架构。下载命令:curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose# 授予docker-compose二进制文件可执行权限:sudo chmod +x /usr/local/bin/docker-compose

2、验证Docker和Docker Compose是否成功安装

docker --version
docker-compose --version

在这里插入图片描述

3、先启动运行docker服务

systemctl start docker

要不Harbor安装会报错:

[Step 0]: checking if docker is installed ...Note: docker version: 25.0.4[Step 1]: checking docker-compose is installed ...Note: Docker Compose version v2.24.7[Step 2]: loading Harbor images ...
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

2、下载并配置Harbor

接下来,我们将下载最新版的Harbor离线安装包并进行配置。

1、下载最新版本的Harbor离线安装包

在这里插入图片描述

# 1、下载
wget https://github.com/goharbor/harbor/releases/download/v2.10.1/harbor-offline-installer-v2.10.1.tgz# 2、解压
tar xvf harbor-offline-installer-v2.10.1.tgz# 3、进入解压目录
cd harbor# 4、将文件 harbor.yml.tmpl 复制为 harbor.ymlcp harbor.yml.tmpl harbor.yml

在这里插入图片描述

2、配置Harbor的主机名和管理员密码

使用 vim 命令编辑 harbor.yml 文件。

vim harbor.yml

找到主机名和管理员密码的配置项,修改主机名和管理员密码。

hostname: your-hostname  # 替换为你的主机名
https:port: 8808# 如果需要使用HTTPS,请配置证书和私钥
harbor_admin_password: your-password  # 设置管理员密码

3、配置Harbor的存储方式(本地存储)

# 修改存储类型为本地存储
data_volume: /data
# 更多配置可根据实际需求进行修改

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

3、部署、配置Harbor(https访问)

在配置完成后,我们可以使用Docker Compose来部署Harbor。

1、执行以下命令启动安装Harbor服务

sudo ./install.sh

在这里插入图片描述

2、列出所有服务

docker-compose ps

在这里插入图片描述

3、 Web 页面测试访问

等待安装完成后,通过浏览器访问http://your-hostname:80(替换为你的主机名)来验证Harbor是否成功部署。

用户名默认是 admin,密码是 Harbor12345。具体见harbor.yml文件中配置。

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

4、镜像推送和管理

现在,已经成功部署了Harbor私有镜像仓库。可以使用Docker客户端或者Harbor的Web界面来管理镜像,包括上传、下载、删除等操作。

1、登录到 Docker Harbor镜像仓库

##语法
docker login your-hostname[root@VM-24-12-centos ~]# docker login 111.230.6.193:8088
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
[root@VM-24-12-centos ~]# 

2、使用Docker客户端推送镜像到Harbor

1、给镜像打标签并推送到指定的镜像仓库docker tag your-image:tag your-hostname/your-project/your-image:tagdocker tag 命令用于给一个现有的镜像打标签。
your-image:tag 是要打标签的现有镜像的名称和标签。
your-hostname/your-project/your-image:tag 是新标签的完整名称,包括仓库地址、项目名称、镜像名称和标签。这个操作类似于给镜像创建一个别名,让它在不同的仓库或项目中使用相同的镜像。docker push your-hostname/your-project/your-image:tagdocker push 命令用于将本地的镜像推送(上传)到指定的镜像仓库。
your-hostname/your-project/your-image:tag 是要推送的镜像的完整名称,包括仓库地址、项目名称、镜像名称和标签。这个命令会将本地镜像推送到指定仓库中。

3、例子:将 nginx镜像推送到名为 library的镜像仓库

在这里插入图片描述

在这里插入图片描述

1、首先,给 nginx:latest镜像打上一个新的标签docker tag nginx:latest 111.230.6.193:8088/library/nginx:latest2、使用 docker push 命令将打好标签的 nginx:latest镜像推送到 library镜像仓库docker push 111.230.6.193:8088/library/nginx:latest

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

在这里插入图片描述

4、拉取镜像

docker pull 仓库地址/<镜像名称>:<标签>如:docker pull 111.230.6.193:8088/library/nginx:latest

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

一步步指导:在Chrome中安装Vue插件vue-devtools

一步步指导&#xff1a;在Chrome中安装Vue插件vue-devtools 1. 引言1.1. 关于Vue.js1.2. 为何使用vue-devtools 2. vue-devtools简介2.1. vue-devtools的功能2.2. 兼容性和需求 3. 如何在Chrome中安装vue-devtools3.1. 访问Chrome网上应用店3.2. 搜索并找到vue-devtools3.3. 安…

Linux共享网络给其它主机

Linux共享网络给其它主机 文章目录 前言设置有网主机转发设置无网主机接入ip route设置route设置固化配置 总结 前言 本文主要讲解如何快速配置共享网络给同网段内其它主机&#xff0c;主要有如下几种情况&#xff1a; 本机有无线和有线网卡&#xff0c;无线能上网有线不能上…

京东云搭建幻兽帕鲁Palworld多人游戏联机服务器教程,1分钟开服

使用京东云服务器搭建幻兽帕鲁Palworld游戏联机服务器教程&#xff0c;非常简单&#xff0c;京东云推出幻兽帕鲁镜像系统&#xff0c;镜像直接选择幻兽帕鲁镜像即可一键自动部署&#xff0c;不需要手动操作&#xff0c;真正的新手0基础部署幻兽帕鲁&#xff0c;阿腾云atengyun.…

uni-app(使用阿里图标)

1.注册阿里矢量图标库 注册阿里图标库账号并登录&#xff0c;https://www.iconfont.cn/ 2.加入购物车 搜索适合自己的图标&#xff0c;加入购物车&#xff0c;如下图&#xff1a; 3.加入项目 我的->资源管理->我的项目->创建项目&#xff0c;然后返回购物车&#…

Kafka集群安装与配置

Kafka 提醒&#xff1a;需要先安装zookeeper后才可以安装kafka 安装 官方下载地址&#xff1a;http://kafka.apache.org/downloads.html 解压安装包 tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/修改解压后的文件名称 mv kafka_2.12-3.0.0/ kafka进入到/opt/module/k…

深度学习论文阅读之【Distilling the Knowledge in a Neural Network】提炼神经网络中的知识

论文&#xff1a;link 代码&#xff1a;link 摘要 提高几乎所有机器学习算法性能的一个非常简单的方法是在相同的数据上训练许多不同的模型&#xff0c;然后对它们的预测进行平均[3]。不幸的是&#xff0c;使用整个模型集合进行预测非常麻烦&#xff0c;并且计算成本可能太高&…

HTML文本信息

标题 使用h1~h6标签定义标题。通常一个HTML网页只有一个主标题和副标题&#xff0c;主标题和副标题分别使用h1和h2表示。 <h1>主标题</h1> <h2>副标题</h2><p>正文</p>段落 p元素用来表示段落文本。通常用来显示大片的文字。每一个p元素…

中国信通院 X StarRocks金融用户社区正式成立

在国家战略的推动下&#xff0c;开源技术正逐渐成为金融行业创新发展的重要驱动力。2024 年 3 月 26 日&#xff0c;中国信息通信研究院 X StarRocks 金融用户社区&#xff08;以下简称“社区”&#xff09;正式成立&#xff0c;这一举措旨在深化国内金融领域的开源生态建设&am…

粗略总结AI大模型学习需要了解的要点

目录 一、概念简介 二、兴起原因 三、相关要点 四、不足之处 五、总结 一、概念简介 AI大模型学习是指利用大规模数据集和强大计算能力进行深度学习模型的训练。随着数据的爆炸式增长和计算资源的提升&#xff0c;AI大模型学习成为了现代人工智能研究的重要方向。 二、兴起…

单元测试11213123231313131231231231

使用技术 junit Mockito s[romg 示例代码&#xff1a; SpringBootTest(classes启动类.class) public class AbstractTes{ MockBean protected A a; } AutoConfigureMockMvc(printOnlyOnFailure false) public abstract class AbstractWebTes extends AbstractTes imple…

使用pytorch构建一个初级的无监督的GAN网络模型

在这个系列中将系统的构建GAN及其相关的一些变种模型&#xff0c;来了解GAN的基本原理。本片为此系列的第一篇&#xff0c;实现起来很简单&#xff0c;所以不要期待有很好的效果出来。 第一篇我们搭建一个无监督的可以生成数字 (0-9) 手写图像的 GAN&#xff0c;使用MINIST数据…

精准测试——BCEL字节码检测

精准测试是通过源代码变更分析&#xff0c;确定改动代码影响的范围&#xff0c;从而进行针对性测试&#xff0c;进一步提升测试效率。不仅如此&#xff0c;精准测试还可以将测试用例与程序代码之间的逻辑映射关系建立起来&#xff0c;采集测试过程执行的代码逻辑及测试数据。怎…

Android--重构

重构不是一朝一夕的事情&#xff0c;是一个持续的过程 要注重代码注释&#xff0c;对创建的每一个页面&#xff0c;类&#xff0c;方法&#xff0c;关键变量都要有对应的注释&#xff0c;对于类要写明作者是谁&#xff0c;创建修改时间&#xff0c;还有是做什么。 这样对后面的…

入门指南|营销中人工智能生成内容的主要类型 [新数据、示例和技巧]

由于人工智能技术的进步&#xff0c;内容生成不再是一项令人头疼的任务。随着人工智能越来越多地接管手动内容制作任务&#xff0c;营销人员明智的做法是了解现有的不同类型的人工智能生成内容&#xff0c;以及哪些内容从中受益最多。这些工具可以帮助我们制作对您的受众和品牌…

Synchronized锁、公平锁、悲观锁乐观锁、死锁等

悲观锁 认为自己在使用数据的时候一定会有别的线程来修改数据,所以在获取数据前会加锁,确保不会有别的线程来修改 如: Synchronized和Lock锁 适合写操作多的场景 乐观锁 适合读操作多的场景 总结: 线程8锁🔐 调用 声明 结果:先打印发送短信,后打印发送邮件 结论…

【WPF应用16】WPF如何让Canvas上的元素响应鼠标点击事件?

在WPF中&#xff0c;要让Canvas上的元素响应鼠标点击事件&#xff0c;你需要为这些元素添加事件处理程序来处理MouseLeftButtonDown事件。这个事件会在鼠标左键被按下时触发。下面是一篇详细的博客&#xff0c;展示了如何在Canvas上的元素上添加鼠标点击事件处理程序。 1. Can…

AI大模型学习和实践

目录 第一章:AI大模型概述 1.1 什么是AI大模型? 1.2 AI大模型的发展历程 1.3 AI大模型的应用领域 1.4 AI大模型的挑战与机遇 第二章:数学基础与模型理论 2.1 数学在AI大模型学习中的重要性 2.1.1 线性代数 2.2.2 微积分 2.2.3 概率论与统计学 2.2、模型理论的基础…

机器学习(三)

神经网络: 神经网络是由具有适应性的简单单元组成的广泛并行互连的网络&#xff0c;它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 f为激活(响应)函数: 理想激活函数是阶跃函数&#xff0c;0表示抑制神经元而1表示激活神经元。 多层前馈网络结构: BP(误差逆…

OpenPLC_Editor 在Ubuntu 虚拟机安装记录

1. OpenPLC_Editor在虚拟机上费劲的装了一遍&#xff0c;有些东西已经忘了&#xff0c;主要还是python3 的缺失库版本对应问题&#xff0c;OpenPLC_Editor使用python3编译的&#xff0c;虚拟机的Ubuntu 18.4 有2.7和3.6两个版本&#xff0c;所以需要注意。 2. OpenPLC_Editor …

Svg Flow Editor 原生svg流程图编辑器(四)

系列文章 Svg Flow Editor 原生svg流程图编辑器&#xff08;一&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;二&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;三&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;四&#xf…