Registry私有仓库可视化

embedded/2024/10/10 22:49:40/

Docker Registry 是一个用于存储和分发 Docker 镜像的服务,它支持构建私有仓库来管理组织内部的应用程序和镜像。然而,默认的 Docker Registry 并没有提供图形界面,这使得管理镜像变得不太直观。为了方便管理和查看私有仓库中的镜像,可以使用一些可视化工具来增强 Registry 的功能。

案例准备

IP主机名节点
192.168.20.22.LocalhostLocalhost

案例实施

1.安装Docker

这里以安装20版本docker为例

# 拉取阿里云镜像源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
# 配置docker的yum源
[root@localhost ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -P /etc/yum.repos.d/
# 查看yum中的docker版本
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
# 安装你想要的docker版本
[root@localhost ~]# yum install docker-ce-20.10.14 -y
[root@localhost ~]# docker -v
# 卸载已经安装的docker
[root@localhost ~]# yum remove docker-ce docker-ce-cli containerd.io -y
# 安装想要docker版本
[root@localhost ~]#  yum install -y docker-ce-20.10.14 docker-ce-cli-20.10.14 containerd.io-20.10.14
# 注意:我们第一次安装指定版本docker时均会出错,以下是报错解决及安装
[root@localhost ~]# yum remove docker-buildx-plugin.x86_64*
# 再次执行安装命令
[root@localhost ~]# yum install -y docker-ce-20.10.14 docker-ce-cli-20.10.14 containerd.io-20.10.14

2.关闭防火墙

# 查看防火墙状态
[root@localhost ~]# systemctl status firewalld.service 
# 暂停防火墙
[root@localhost ~]# systemctl stop firewalld.service
# 永久关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service   

3.启动docker相关服务

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable docker.service
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl status docker

 4.安装registry私有仓库

# 拉取私有镜像仓库到本地
[root@localhost ~]# docker pull registry
# 打标签
[root@localhost ~]# docker tag nginx:latest 192.168.20.22:5000/mynginx
# 上传镜像
[root@localhost ~]# docker push 192.168.20.22:5000/mynginx
# 启动私有镜像仓库
[root@localhost ~]# docker run -d -p 5000:5000 --restart always --name registry registry:lastest

启动后,浏览器访问http://IP:5000端口,访问不到任何内容,正确的访问方式:http://IP:5000/v2/_catalog看到 {"repositories":[]},说明 docker registry 已经部署成功,只是仓库中还没有存储镜像

看到 {"repositories":["mynginx"]},说明镜像已经成功上传到 docker registry 私有仓库中。 

编辑docker配置文件/etc/docker/daemon.json

[root@localhost ~]# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"],"insecure-registries": ["192.168.20.22:5000"]
}

5.搭建可视化WEB界面

klausmeyer/docker-registry-browser 是一个用于浏览和管理 Docker Registry 的 Web 界面工具。

[root@localhost ~]# docker pull klausmeyer/docker-registry-browser
# 部署服务
[root@localhost ~]# SECRET_KEY=$(openssl rand -hex 64)
[root@localhost ~]#  echo $SECRET_KEY
0084c47cc993707c0a0b92916490f5a47fd687433dabfaa814cf6863ffb8054611e2d6fbf7b61afb32444c2be724d6bef8ab400608e3c50912a8c5fc6ceada37
[root@localhost ~]# docker run --name registry-browser -p 8080:8080 --restart=always \
> -e DOCKER_REGISTRY_URL=http://192.168.20.22:5000/v2 \
> -e SECRET_KEY_BASE=$SECRET_KEY \
> -d klausmeyer/docker-registry-browser
e283619614d213fcc0c41568fa9fd910447f84a5e4ad0d30e81a96637360cb16

 6.浏览器访问

浏览器访问 http://localhost:8080

 


http://www.ppmy.cn/embedded/125585.html

相关文章

卷积的计算——nn.Conv2d(Torch.nn里的Convolution Layers模块里的Conv2d类)

**前置知识: 1、张量和通道 张量:多维数组,用来表示数据(图像、视频等) 通道:图像数据的一部分,表示不同的颜色或特征层 通道只是张量的其中一个维度 以一张RGB图像为例, 该图像…

ffmpeg面向对象——AVInputFormat与URLProtocol啥关系

《ffmpeg面向对象-rtsp拉流相关对象》和《ffmpeg面向对象——拉流协议匹配机制探索》探索过了输入格式匹配和底层协议匹配,且ffmpeg拉流是先是匹配输入格式——抽象为AVInputFormat类,然后再匹配url协议类——抽象为URLProtocol类。 它们是啥关系&#…

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

目录 前言 一、RTL8125 功能特性详解: 1. 高带宽和高效能 2. 向下兼容性 3. 硬件卸载引擎 4. 节能特性 5. VLAN与QoS支持 6. 多操作系统支持 二、硬件原理图连接 三、内核配置 四、网卡调试 总结 前言 在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用…

【AI系统】AI在不同领域的应用与行业影响

本文将探讨AI在不同技术领域和行业中的广泛应用,以及这些应用如何影响和改变我们的世界。 I. 引言 AI技术正日益渗透到各个技术领域,从计算机视觉到自然语言处理,再到音频处理,AI的应用正变得越来越广泛。这些技术的发展不仅推动…

Java为啥有的地方赋值是 数据类型 变量名 = 值; 有的是 一个单词 变量名 = new 又是那个单词();

在Java中,你提到的两种赋值方式实际上反映了Java中对象和非对象(基本数据类型)之间的区别。这是Java(以及许多其他面向对象编程语言)的一个核心特性。 第一种:数据类型 变量名 值; 这种方式用于基本数据…

第五十九周周报 IAGNN

文章目录 week 59 IAGNN摘要Abstract一、大数据相关1. 磁盘扩容以及数据恢复2. 单机hbase 二、文献阅读1. 题目2. Abstract3. 网络结构3.1 问题定义3.2 IAGNN 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.4 实验结果 5. 结论参考文献 week 59 IAGNN 摘要 本周阅读了…

MySQL 日志 - Binlog

文章目录 binlog 的格式mysqbinlog 工具SHOW binlog events;binlog 和 redo log 对比 https://dev.mysql.com/doc/refman/8.4/en/binary-log.html binlog 全称 BinaryLog,是 MySQL 数据库中用于记录所有更改数据库状态的事件的日志文件。它主要用于以下几个目的&am…

C++ 功能使用技巧

1. 通过C执行shell指令,比如,在代码中查找进程名称,并进行终止 2.单实例线程操作 1. 要点 snprintf 函数被用于构建一个包含多个命令的字符串 在C语言中,system函数用于执行shell命令 在C或C编程中,::mkdir 函数用…