使用Docker Registry-v2搭建镜像仓库详细教程

news2024/11/25 4:24:19

我们使用docker来部署私有化镜像仓库…

1、下载 registry:v2 镜像

docker pull registry:2

2、在私有仓库所在的主机目录新建一个文件夹,用于持久化保存仓库中的镜像

mkdir -p /opt/registry

3、启动registry镜像

使用docker镜像启动私有仓库容器服务,将容器内/var/lib/registry路径映射到宿主机/opt/registry用于持久化保存仓库中的镜像。

 docker run -d -p 5000:5000 --restart=always -v /opt/registry:/var/lib/registry --name registry registry:2

容器启动成功之后通过浏览器访问私有仓库所在的宿主机,端口映射5000。得到下面的结果,证明我们的私有仓库搭建成功了。

http://192.168.144.140:5000/v2/

在这里插入图片描述

4、上传镜像前准备

私有镜像仓库搭建完成,并且支持HTTP协议传输,下面我们就可以上传镜像文件了。在此之前我们还需要为镜像打标签,如下:

docker tag mysql:8.0 192.168.144.140:5000/mysql:8.0

这条命令的作用是将本地的 mysql:8.0 镜像重新打上标签,使其在本地的 Docker Registry 地址为 192.168.144.140:5000 下,标签仍为 8.0。这样做的目的通常是为了将本地的镜像推送到特定的 Docker Registry 地址,以便在其他机器上拉取和使用。

5、上传镜像到私有化仓库

当我们就可以向仓库提交镜像,会发现镜像根本提交不上去,这是因为Docker Registry V2从安全角度考虑禁止了HTTP协议传输镜像数据,默认支持HTTPS。

docker push 192.168.144.140:5000/mysql:8.0

会报错Get “http://192.168.144.140:5000/v2/”: dial tcp 192.168.144.140:5000: connect: connection refused…

所以我们需要改成支持Http的形式,可以通过下面的方法绕过这道坎,修改文件 vim /etc/docker/daemon.json ,增加 insecure-registries 配置,值为私有仓库的访问地址。注意是增加,该文件原有内容不需要删除。

{
	"insecure-registries":["192.168.1.111:5000"]  # 括号内增加这一行
}

6、重启

修改配置完成之后重启docker服务,registry 容器也重启一下

 systemctl daemon-reload
 systemctl restart docker

 docker restart registry 

6、重新上传镜像

docker push 192.168.144.140:5000/mysql:8.0

7、查询是否上传成功

我们想知道镜像是否上传成功需要通过API的方式查询。

# 查询镜像仓库中镜像的分类
curl http://192.168.144.140:5000/v2/_catalog
{"repositories":["mysql"]}

# 查询奖项仓库中的镜像
curl http://192.168.144.140:5000/v2/mysql/tags/list
{"name":"mysql","tags":["8.0"]}

8、下载该私有仓库的镜像

由于该仓库是无登录账号密码的,因此默认在任何一台安装了docker的服务器上,都可以获取该私有仓库中的镜像。如:

docker pull 192.168.144.140:5000/mysql:8.0

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

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

相关文章

突破编程_前端_SVG(circle 圆形)

1 circle 元素的基本属性和用法 SVG 的 <circle> 元素用于在SVG文档中绘制圆形。它具有几个基本属性&#xff0c;允许定义圆形的大小、位置、填充颜色和边框样式。以下是 <circle> 元素的基本属性及其详细解释&#xff1a; 1.1 cx 和 cy 描述&#xff1a;这两个…

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记13:RTC实时时钟

系列文章目录 嵌入式|蓝桥杯STM32G431&#xff08;HAL库开发&#xff09;——CT117E学习笔记01&#xff1a;赛事介绍与硬件平台 嵌入式|蓝桥杯STM32G431&#xff08;HAL库开发&#xff09;——CT117E学习笔记02&#xff1a;开发环境安装 嵌入式|蓝桥杯STM32G431&#xff08;…

用Python编写GUI程序将JPEG文件按文件名顺序插入PDF文件

在Python编程中&#xff0c;处理文件和图像是常见的任务之一。最近&#xff0c;我遇到了一个有趣的问题&#xff1a;如何通过编写一个GUI程序来将一个文件夹中的JPEG文件按文件名顺序插入到一个新的PDF文件中&#xff1f;在这篇博客中&#xff0c;我将分享我使用Python、wxPyth…

基于springboot+vue+Mysql的论坛管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

【vue】v-model.lazy等(非实时渲染)

v-model&#xff1a;实时渲染v-model.lazy&#xff1a;失去焦点/按回车后&#xff0c;才渲染v-model.number&#xff1a;值转换为数字v-model.trim&#xff1a;去除首尾空格 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8&qu…

1.汉诺塔问题

C力扣 汉诺塔 class Solution { public:void hanota(vector<int>& a, vector<int>& b, vector<int>& c) {dfs(a,b,c,a.size());}void dfs(vector<int>& a, vector<int>& b, vector<int>& c,int n){if(n1){c.push…

图片批量高效缩放,批量缩放GIF图片并在缩放后以bmp位图保存

在这个数字化时代&#xff0c;图片已经成为我们生活和工作中不可或缺的一部分。无论是制作海报、设计网站&#xff0c;还是日常分享&#xff0c;我们都需要对图片进行处理。然而&#xff0c;面对大量的GIF图片&#xff0c;如何高效地进行缩放并转换为BMP位图&#xff0c;成为了…

链表中是否有环【c语言】

定义两个指针&#xff0c;一个每次跳跃两个节点&#xff08;快指针&#xff09;&#xff0c;另一个每次跳跃一个节点&#xff08;慢指针&#xff09;。如果存在环&#xff0c;他们最终会在环中的某个点相遇。如果链表无环&#xff0c;快指针将先到达链表尾端。 #include <s…

【智能算法】教与学优化算法 (TLBO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2012年&#xff0c;RV Rao等人受到班级内教师教学和学生学习启发&#xff0c;提出了教与学优化算法&#xff08;Teaching-learning-based Optimization, TLBO&#xff09;。 2.算法原理 2.1算法思…

2024最方便申请SSL证书方法介绍

申请SSL证书其实就像你去官方机构办个身份证&#xff0c;证明你的网站是合法且安全的。这里给你白话一点的简单步骤&#xff1a; 步骤一&#xff1a;确定需求 1. 域名&#xff1a;确保你有一个要申请证书的域名&#xff0c;就是你的网站地址&#xff0c;比如 www.example.com。…

【C++算法模板】数论:欧拉筛,线性查找质数的算法

文章目录 1&#xff09;传统找质数的方法&#xff08;优化筛选次数&#xff09;2&#xff09;欧拉筛 1&#xff09;传统找质数的方法&#xff08;优化筛选次数&#xff09; bool isPrime(int num) {for(int i2;i<sqrt(num)) {if(num%i0)return false;}return true; }如果要…

SSL、TLS和HTTPS:网络安全的重要基石

随着互联网的快速发展&#xff0c;网络安全问题日益凸显。为了保护数据在传输过程中的安全&#xff0c;各种加密协议和技术应运而生。SSL&#xff08;安全套接层&#xff09;、TLS&#xff08;传输层安全&#xff09;和HTTPS&#xff08;超文本传输安全协议&#xff09;是三个最…

Git 解决分支冲突

一、前言 一直习惯于 add commit push 的三步走&#xff0c;偶然间看到了一个评论说在 push 之前还有一个 pull&#xff0c;小小的疑问就埋在了我的心里。于是我就先了解了 pull 的工作原理&#xff0c;就是先拉取代码&#xff08;fetch&#xff09;再合并分支&#xff08;mer…

Xilinx Zynq UltraScale+ MPSoC无人机控制器

官方术语是无人驾驶飞行器&#xff08;UAV&#xff09;&#xff0c;这显然有点拗口&#xff0c;所以我们更喜欢说无人机。在过去的几十年里&#xff0c;无人机技术有了巨大的进步。我们为一个客户开发了一个无人机的飞行和视频控制器。 客户挑战 客户需要一种混合FPGA/CPU硬件&…

【matlab下的双目内窥镜标定与深度测距-双目成像原理】

【matlab下的双目内窥镜标定与深度测距-双目成像原理】 这里是目录 介绍坐标系关系相互关系推导三角测量 介绍 双目成像是一种利用两个摄像头或摄像头组成的系统同时捕捉场景信息的技术。它模拟了人类双眼视觉系统&#xff0c;通过两个视角获取的图像来计算深度信息&#xff…

基于分布式鲁棒性的多微网电氢混合储能容量优化配置——1

Optimal configuration of multi microgrid electric hydrogen hybrid energy storage capacity based on distributed robustness A B S T R A C T 储能与微电网相结合是解决分布式风能、太阳能资源不确定性、降低其对大电网安全稳定影响的重要技术路径。随着分布式风电和太阳…

【Hello算法】 > 第 2 关 >数据结构 之 数组与链表

数据结构 之 数组与链表 1&#xff1a;Understanding data structures &#xff01;——了解数据结构——1.1&#xff1a;Classification-分类-1.2&#xff1a;Type-类型- 2&#xff1a;Arrays are the bricks that make up the wall of data structures *——数组是组成数据结…

软件开发有那些陷阱?如何避坑?

引言 在当今数字化时代&#xff0c;软件开发已成为推动科技进步和商业发展的重要引擎。然而&#xff0c;软件开发并非一帆风顺&#xff0c;其中蕴藏着许多陷阱和挑战。如何避免这些陷阱&#xff0c;提高软件开发的效率和质量&#xff0c;成为开发者们面临的重要问题 本文将深入…

UltraScale 架构 SelectIO 资源之IODELAY与IOSERDES仿真与使用

平台&#xff1a;vivado2018.3 具体内容见ug571-ultrascale-selectio IDELAYE3 在调试超高速信号的时候&#xff0c;需要使用iodelayiserdes来调试校准输入信号。例如外部某ADC采样率为5GHZ&#xff0c;外部ADC使用2.5GHZ的时钟去采集输入信号。为了实现采集&#xff0c;adc芯…