docker私有仓库registry

简介

Docker私有仓库的Registry是一个服务,主要用于存储、管理和分发Docker镜像。具体来说,Registry的功能包括:

  1. 存储镜像:Registry提供一个集中的地方来存储Docker镜像,包括镜像的层次结构和元数据。

  2. 版本控制:Registry允许同一镜像的不同版本存在,通过标签来区分不同版本或变体。

  3. 访问控制:Registry可以配置访问权限,使镜像仓库可以是公开的或私有的。这对于组织内部开发、知识产权保护、合规性要求高的项目非常重要。

  4. 镜像分发:Registry允许用户上传、下载和分享Docker镜像。用户可以通过简单的Docker命令来实现这些操作,而无需直接操作Registry。

构建私有Registry的主要好处是用户可以完全掌控镜像的存储和分发。这对于一些特殊要求的场景,如内部开发、知识产权保护、合规性要求高的项目非常重要。同时,私有Registry还可以提高数据传输的效率,特别是在生产环境托管在数据中心机房的情况下,部署在同一机房的Registry可以通过内网进行数据传输,从而提高效率。

Docker公司提供的官方Registry称为Docker Hub,这是一个公共的Docker Registry,包含了数量庞大的公共镜像供全球用户使用。然而,在一些场景下,如企业内部开发、安全性需求高的项目,构建私有Registry是更可行的选择。Docker专门提供了一个名为Docker Distribution的软件包,用户可以通过安装这个软件包快速构建私有Registry。

环境

Redhat 9.2

主机IP 192.168.200.133

docker版本 26.1.1

步骤

docker以以及部署完成,安装docker请参考:docker 应用部署-CSDN博客

拉取registry镜像
[root@admin ~]# docker pull  registry
Using default tag: latest
latest: Pulling from library/registry
79e9f2f55bf5: Pull complete 
0d96da54f60b: Pull complete 
5b27040df4a2: Pull complete 
e2ead8259a04: Pull complete 
3790aef225b9: Pull complete 
Digest: sha256:169211e20e2f2d5d115674681eb79d21a217b296b43374b8e39f97fcf866b375
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
[root@admin ~]# 
[root@admin ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
registry     latest    b8604a3fe854   2 years ago   26.2MB
[root@admin ~]# 
创建私有仓库
[root@admin ~]# docker run -id --name registry -p5000:5000 -v /docker_registry/:/var/lib/registry --restart=always registry:latest 
bd9b6b85169dbc8b749f969171ecdaae25b6e94b8e47bf3c44283efeb0b5c01c
[root@admin ~]# 

关闭防火墙查看端口

[root@admin ~]# systemctl stop firewalld.service 
[root@admin ~]# systemctl disable firewalld.service 
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@admin ~]# setenforce  0
[root@admin ~]# ss -anltp | grep 5000
LISTEN 0      4096         0.0.0.0:5000      0.0.0.0:*    users:(("docker-proxy",pid=85628,fd=4))
LISTEN 0      4096            [::]:5000         [::]:*    users:(("docker-proxy",pid=85634,fd=4))
[root@admin ~]# 

 浏览器访问,http://私有仓库服务器地址:5000/v2/_catalog,能过够看到 {"repositories":[]} 表示私有仓库搭建成功

打开配置文件添加私有仓库的地址和访问端口

[root@admin ~]# vim /etc/docker/daemon.json 
{"registry-mirrors": ["https://7f40piyw.mirror.aliyuncs.com"],  //注意这里要加逗号分隔"insecure-registries": ["192.168.200.133:5000"]   //添加此行
}
[root@admin ~]# systemctl  restart  docker.service 
为镜像打标签

为什么要打标签?如果镜像是上传到docker hub默认是不需要为镜像打标签,应为默认⾛的就是公共仓库(docker hub),如 果是上传到本地私有仓库,那么标签是为了指定本地私有仓库的地址。

私有仓库镜像打标签语法:docker tag 原镜像名:原tag 仓库地址:5000/镜像名:tag

[root@admin ~]# docker tag registry:latest  192.168.200.133:5000/registry:v1
[root@admin ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
192.168.200.133:5000/registry   v1        b8604a3fe854   2 years ago   26.2MB
registry                        latest    b8604a3fe854   2 years ago   26.2MB
[root@admin ~]# 
上传镜像到私有仓库

格式:docker push 镜像名:tag

[root@admin ~]# docker push  192.168.200.133:5000/registry:v1 
The push refers to repository [192.168.200.133:5000/registry]
aeccf26589a7: Pushed 
f640be0d5aad: Pushed 
aa4330046b37: Pushed 
ad10b481abe7: Pushed 
69715584ec78: Pushed 
v1: digest: sha256:36cb5b157911061fb610d8884dc09e0b0300a767a350563cbfd88b4b85324ce4 size: 1363
[root@admin ~]# 

浏览器查看

[root@admin ~]# docker tag mysql:latest  192.168.200.133:5000/mysql:v1
[root@admin ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
192.168.200.133:5000/mysql      v1        3218b38490ce   2 years ago   516MB
mysql                           latest    3218b38490ce   2 years ago   516MB
registry                        latest    b8604a3fe854   2 years ago   26.2MB
192.168.200.133:5000/registry   <none>    b8604a3fe854   2 years ago   26.2MB
[root@admin ~]# docker push  192.168.200.133:5000/mysql:v1 
The push refers to repository [192.168.200.133:5000/mysql]
d67a9f3f6569: Pushed 
fc8a043a3c75: Pushed 
118fee5d988a: Pushed 
c654c2afcbba: Pushed 
1d1f48e448f9: Pushed 
aad27784b762: Pushed 
0d17fee8db40: Pushed 
d7a777f6c3a4: Pushed 
a0c2a050fee2: Pushed 
0798f2528e83: Pushed 
fba7b131c5c3: Pushed 
ad6b69b54919: Pushed 
v1: digest: sha256:238cf050a7270dd6940602e70f1e5a11eeaf4e02035f445b7f613ff5e0641f7d size: 2828

浏览器刷新查看

删除MySQL镜像再次拉取

[root@admin ~]# docker rmi 192.168.200.133:5000/mysql:v1 
Untagged: 192.168.200.133:5000/mysql:v1
Untagged: 192.168.200.133:5000/mysql@sha256:238cf050a7270dd6940602e70f1e5a11eeaf4e02035f445b7f613ff5e0641f7d
[root@admin ~]# docker images 
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
mysql                           latest    3218b38490ce   2 years ago   516MB
registry                        latest    b8604a3fe854   2 years ago   26.2MB
[root@admin ~]# docker pull 192.168.200.133:5000/mysql:v1 
v1: Pulling from mysql
Digest: sha256:238cf050a7270dd6940602e70f1e5a11eeaf4e02035f445b7f613ff5e0641f7d
Status: Downloaded newer image for 192.168.200.133:5000/mysql:v1
192.168.200.133:5000/mysql:v1
[root@admin ~]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED       SIZE
192.168.200.133:5000/mysql      v1        3218b38490ce   2 years ago   516MB
mysql                           latest    3218b38490ce   2 years ago   516MB
registry                        latest    b8604a3fe854   2 years ago   26.2MB
192.168.200.133:5000/registry   <none>    b8604a3fe854   2 years ago   26.2MB
[root@admin ~]# 

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

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

相关文章

【Unity 实用工具篇】 | UIEffect 实现一系列UGUI特效,灰度、负片、像素化特效

前言【Unity 实用工具篇】 | UIEffect 实现一系列UGUI特效,灰度、负片、像素化特效一、UGUI特效插件:UIEffect1.1 介绍1.2 效果展示1.3 使用说明及下载二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 使用灰度特效做头像(关卡)选择总结

【C/C++笔试练习】DNS设置文件、应用层、Dos攻击、DNS服务、DNS、子网划分、http状态、路由设置、TCP连接、HTTP状态码、剪花布条、客似云来

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;DNS设置文件&#xff08;2&#xff09;应用层&#xff08;3&#xff09;Dos攻击&#xff08;4&#xff09;DNS服务&#xff08;5&#xff09;DNS&#xff08;6&#xff09;子网划分&#xff08;7&#xff09;http状态&am…

日报表定时任务优化历程

报表需求背景 报表是一个很常见的需求&#xff0c;在项目中后期往往会需要加多种维度的一些统计信息&#xff0c;今天就来谈谈上线近10个月后的一次报表优化优化之路&#xff08;从一天报表跑需要五分钟&#xff0c;优化至秒级&#xff09; 需求&#xff1a;对代理商进行日统计…

视频合并有妙招:视频剪辑一键操作,批量嵌套合并的必学技巧

在数字时代的今天&#xff0c;视频已经成为我们日常生活和工作中不可或缺的一部分。无论是记录生活点滴&#xff0c;还是制作专业项目&#xff0c;视频合并都是一个常见的需求。然而&#xff0c;对于许多人来说&#xff0c;视频合并却是一个复杂且繁琐的过程。现在有云炫AI智剪…

第七届精武杯部分wp

第一部分&#xff1a;计算机和手机取证 1.请综合分析计算机和手机检材&#xff0c;计算机最近一次登录的账户名是 答案&#xff1a;admin 创建虚拟机时直接给出了用户名 2. 请综合分析计算机和手机检材&#xff0c;计算机最近一次插入的USB存储设备串号是 答案&#xff1a…

6.python网络编程

文章目录 1.生产者消费者-生成器版2.生产者消费者--异步版本3.客户端/服务端-多线程版4.IO多路复用TCPServer模型4.1Select4.2Epoll 5.异步IO多路复用TCPServer模型 1.生产者消费者-生成器版 import time# 消费者 def consumer():cnt yieldwhile True:if cnt < 0:# 暂停、…

创新指南 | 生成式AI如何引领企业创新未来?

2023年麦肯锡全球数字战略调查了1000多名受访者&#xff0c;发现&#xff1a;建立创新文化的组织与它们应用包括生成式AI在内的最新数字技术提高产出的能力之间有着惊人的强关联。 本文探讨了顶尖创新企业采取的五项行动&#xff0c;使它们与同行之间拉开距离&#xff0c;并在使…

【Linux系统】进程

本篇博客整理了进程的多方面知识&#xff0c; 旨在从进程的概念、管理、属性、创建等方面让读者更加全面系统地理解进程和操作系统的管理设计。 目录 一、进程是什么 二、操作系统如何管理进程 1.描述进程 PCB 2.组织进程 3.再谈进程和进程管理 三、Linux下的进程管理 1…

Docker Compose:简化多容器应用部署

序言 在当今的软件开发中&#xff0c;容器化技术的使用已经很普遍了。而 Docker 作为其中最流行的容器化平台之一&#xff0c;为开发者提供了方便、快捷、一致的开发和部署环境。但是&#xff0c;当我们的应用开始变得更加复杂&#xff0c;涉及到多个容器时&#xff0c;手动管…

在 Kubernetes 上运行 Apache Spark 进行大规模数据处理的实践

在刚刚结束的 Kubernetes Community Day 上海站&#xff0c;亚马逊云科技在云原生分论坛分享的“在 Kunernets 上运行 Apache Spark 进行大规模数据处理实践”引起了现场参与者的关注。开发者告诉我们&#xff0c;为了充分利用 Kubernetes 的高可用设计、弹性&#xff0c;在越来…

AI + Web3 如何打造全新创作者经济模型?

可编程 IP 的兴起&#xff0c;借助人工智能极大提高创作效率和效能&#xff0c;让 Web3 用户体会到了自主创作和产品制作的乐趣。然而&#xff0c;你知道 AI 时代来临的背景下&#xff0c;创作者经济模型又该如何在 Web3 技术的加持下走向更成熟的运作轨道吗&#xff1f;第 43 …

再谈毕业论文设计投机取巧之IVR自动语音服务系统设计(信息与通信工程A+其实不难)

目录 举个IVR例子格局打开&#xff0c;万物皆能IVR IVR系统其实可盐可甜。还能可圈可点。 戎马一生&#xff0c;归来依然IVR。 举个IVR例子 以下是IVR系统的一个例子。 当您拨打电话进入IVR系统。 首先检验是否为工作时间。 如是&#xff0c;您将被送入ivr-lang阶段&#xff0…

QT day5 作业

服务器头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QTcpSocket> //客户端类 #include <QList> //链表类 #include <QMessageBox> //消息对话框类 #include <QDebu…

【C语言】精品练习题

目录 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目五&#xff1a; 题目六&#xff1a; 题目七&#xff1a; 题目八&#xff1a; 题目九&#xff1a; 题目十&#xff1a; 题目十一&#xff1a; 题目十二&#xff1a; 题目十…

大文件传输的好帮手Libarchive:功能强大的开源归档文件处理库

在数字化时代&#xff0c;文件的存储和传输对于企业的日常运作至关重要。但是&#xff0c;服务器中的压缩文件往往无法直接查看或预览&#xff0c;这给用户带来了不便。为了解决这一问题&#xff0c;在线解压功能的开发变得尤为重要。接下来&#xff0c;小编将介绍一个能够实现…

RabbitMQ(安装配置以及与SpringBoot整合)

文章目录 1.基本介绍2.Linux下安装配置RabbitMQ1.安装erlang环境1.将文件上传到/opt目录下2.进入/opt目录下&#xff0c;然后安装 2.安装RabbitMQ1.进入/opt目录&#xff0c;安装所需依赖2.安装MQ 3.基本配置1.启动MQ2.查看MQ状态3.安装web管理插件4.安装web管理插件超时的解决…

使用xtuner微调InternLM-Chat-7B

1. 安装xtuner #激活环境 source activate test_llm # 安装xtuner pip install xtuner#还有一些依赖项需要安装 future>0.6.0 cython lxml>3.1.0 cssselect mmengine 2. 创建一个ft-oasst1 数据集的工作路径&#xff0c;进入 mkdir ft-oasst1 cd ft-oasst1 3.XTune…

MySQL系列之索引

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

【Linux】环境变量是什么?如何配置?详解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

C++11:并发新纪元 —— 深入理解异步编程的力量(1)

hello &#xff01;大家好呀&#xff01; 欢迎大家来到我的Linux高性能服务器编程系列之《C11&#xff1a;并发新纪元 —— 深入理解异步编程的力量》&#xff0c;在这篇文章中&#xff0c;你将会学习到C新特性以及异步编程的好处&#xff0c;以及其如何带来的高性能的魅力&…