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.io

2、安装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.yml

cp 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-store

Login Succeeded
[root@VM-24-12-centos ~]# 

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

1、给镜像打标签并推送到指定的镜像仓库

docker tag your-image:tag your-hostname/your-project/your-image:tag

docker tag 命令用于给一个现有的镜像打标签。
your-image:tag 是要打标签的现有镜像的名称和标签。
your-hostname/your-project/your-image:tag 是新标签的完整名称,包括仓库地址、项目名称、镜像名称和标签。这个操作类似于给镜像创建一个别名,让它在不同的仓库或项目中使用相同的镜像。



docker push your-hostname/your-project/your-image:tag

docker 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:latest

2、使用 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💖点点关注,收藏不迷路💖

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DDos系列攻击原理与防御原理

七层防御体系 静态过滤 命中黑名单 对确定是攻击的流量直接加入黑名单&#xff08;源地址命中黑名单直接丢弃&#xff0c;缺乏机动性和扩展性&#xff09; 畸形报文过滤 畸形报文攻击 TCP包含多个标记位&#xff0c;排列组合有规律 • 现象&#xff1a;TCP标记位全为1 …

基于SpringBoot和Vue的在线视频教育平台的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的在线视频教育平台的设计与实现 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&…

IDEA一键备份MySQL数据库(mysqldump版)

问题 又到了搬MySQL数据库的时刻&#xff0c;这次我不想使用命令行备份&#xff0c;这次我想使用IDEA一键备份MySQL数据库。 解决 假设安装好mysqldump命令后&#xff0c;让IDEA使用mysqldump一键备份指定的数据库。具体IDEA配置如下&#xff1a; 这是IDEA上面的数据库到处…

element-ui 自定义点击图标/文本/按钮触发el-date-picker时间组件,不使用插槽

天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1. 图片预览 2.上代码 2.1html <el-button class"hide_input" size"small"><svg t"1711608996149" class"icon" viewBox"0 0 1024 1024" version"1.1"…

腾讯云4核8G服务器价格,12M带宽一年646元,送3个月

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

基于ssm的线上旅行信息管理系统论文

摘 要 随着旅游业的迅速发展&#xff0c;传统的旅行信息查询管理方式&#xff0c;已经无法满足用户需求&#xff0c;因此&#xff0c;结合计算机技术的优势和普及&#xff0c;特开发了本线上旅行信息管理系统。 本论文首先对线上旅行信息管理系统进行需求分析&#xff0c;从系…

MTransE阅读笔记

Multilingual Knowledge Graph Embeddings for Cross-lingual Knowledge Alignment 用于交叉知识对齐的多语言知识图谱嵌入(MTransE) Abstract 最近的许多工作已经证明了知识图谱嵌入在完成单语知识图谱方面的好处。由于相关的知识库是用几种不同的语言构建的&#xff0c;因…

设计模式(一)简介

一、书籍推荐及博客 大话设计模式 设计模式的艺术 XXL开源社区 | 博客 二、通俗版概念 创建型模式、结构型模式、行为型模式 怎么建房子、建什么样的房子、建的房子有什么用 三、重点模式及简述 1、创建型模式 工厂方法&#xff08;多态工厂的实现&#xff09; 抽象工厂…

c++|string模拟实现

目录 一、string.h 二、string.cpp 三、Test.cpp 对string的各种接口进行一个简易版的模拟实现&#xff0c;在模拟实现完之后对string的底层实现有了进一步的理解&#xff0c;了解大佬的编程写法思路。也算是对string有了一个小总结。 一、string.h 接口的声明。放在.h文件中…

面向对象的学习

封装 //用来描述一类事物的类&#xff0c;专业叫做&#xff1a;javabean类 //在javabean类是不写main方法的//一个java文件中可以定义多个类&#xff0c;且只能一个类是public修饰&#xff0c;而且public修饰的类名必须成为代码的文件名 ://在类中一般无需指定初始化值 存在默…

C# OpenCvSharp 轮廓检测

目录 效果 代码 下载 效果 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.…

理解JVM:从字节码到程序运行

大家好&#xff0c;我是程序员大猩猩。 今天我们来讲一下JVM&#xff0c;好多面试者在面试的时候&#xff0c;都会被问及JVM相关知识。那么JVM到底是什么&#xff0c;要理解它到底是出于什么原因&#xff1f; JVM俗称Java虚拟机&#xff0c;它是一个抽象的计算机&#xff0c;…

Hadoop面试重点

文章目录 1. Hadoop 常用端口号2.Hadoop特点3.Hadoop1.x、2.x、3.x区别 1. Hadoop 常用端口号 hadoop2.xhadoop3.x访问HDFS 端口500709870访问 MR 执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020 2.Hadoop特点 高可靠&#xff1a;Hadoop底层维护多个数…

京东电商实时数据采集:京东数据API接口海量数据采集京东商品详情页SKU实时采集

京东数据api接口&#xff1a;京东电商数据如何采集&#xff1f; 用户行为日志采集 &#xff1a;这种方法通常用于记录用户在网站上的行为&#xff0c;如点击、浏览等&#xff0c;以帮助分析用户行为和优化用户体验。通用数据采集 &#xff1a;可以通过数据直通车等方式进行&am…

数字孪生关键技术及体系架构

摘要&#xff1a; 数字孪生以各领域日益庞大的数据为基本要素&#xff0c;借助发展迅速的建模仿真、人工智能、虚拟现实等先进技术&#xff0c;构建物理实体在虚拟空间中的数字孪生体&#xff0c;实现对物理实体的数字化管控与优化&#xff0c;开拓了企业数字化转型的可行思路…

SpringBoot+Prometheus+Grafana实现应用监控和报警

一、背景 SpringBoot的应用监控方案比较多&#xff0c;SpringBootPrometheusGrafana是目前比较常用的方案之一。它们三者之间的关系大概如下图&#xff1a; 关系图 二、开发SpringBoot应用 首先&#xff0c;创建一个SpringBoot项目&#xff0c;pom文件如下&#xff1a; <…

本地部署大模型的几种工具(上-相关使用)

目录 前言 为什么本地部署 目前的工具 vllm 介绍 下载模型 安装vllm 运行 存在问题 chatglm.cpp 介绍 下载 安装 运行 命令行运行 webdemo运行 GPU推理 ollama 介绍 下载 运行 运行不同参数量的模型 存在问题 lmstudio 介绍 下载 使用 下载模型文件…

Git版本管理使用手册 - 8 - 合并分支、解决冲突

合并整个开发分支 切换到本地test分支&#xff0c;选择右下角远程开发分支&#xff0c;选择Merge into Current。然后提交到远程test仓库。 合并某次提交的代码 当前工作区切换成test分支&#xff0c;选择远程仓库中的dev开发分支&#xff0c;选择需要合并的提交版本右击&a…

机器学习优化算法(深度学习)

目录 预备知识 梯度 Hessian 矩阵&#xff08;海森矩阵&#xff0c;或者黑塞矩阵&#xff09; 拉格朗日中值定理 柯西中值定理 泰勒公式 黑塞矩阵&#xff08;Hessian矩阵&#xff09; Jacobi 矩阵 优化方法 梯度下降法&#xff08;Gradient Descent&#xff09; 随机…

Hive-技术补充-ANTLR的真实语法世界

一、上下文 上一篇博客<Hive-技术补充-ANTLR语法编写>&#xff0c;我们了解了如何使用ANTLR语法来表达词法结构和语法结构&#xff0c;下面我们循循渐进的处理身边用过的一些文件或语言&#xff1a; CSV、JSON、DOT、Cymbol、R 二、解析CSV文件 有这样一份csv文件 …