百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

5分钟自建一个轻量级Docker镜像仓库,带可视化管理,真香

wptr33 2025-03-26 17:47 28 浏览

在工作中,有时我们需要搭建自己的Docker镜像仓库来存储镜像,如果使用Harbor的话有点太重量级了。今天给大家分享一套基于registry和docker-registry-browser的轻量级解决方案,带可视化管理,希望对大家有所帮助!

简介

registry

registry是Docker官方提供的用于存储和分发Docker镜像的服务,使用它能创建私有的Docker镜像仓库,满足对镜像私有化管理的需求。

docker-registry-browser

docker-registry-browser是一款基于registry的可视化管理工具,使用它可以方便地查看和管理存储在registry中的Docker镜像。

下面是使用它管理registry中镜像的效果图,页面还是挺不错的!

mall

由于下面会以mall项目的镜像为例来讲解镜像仓库的使用,这里简单介绍下mall项目,mall项目是一套基于 SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和 2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

项目演示:

安装

首先我们需要安装好registry和docker-registry-browser,这里我们使用Docker来安装。

registry

  • 使用如下命令来下载registry的镜像;
docker pull registry:2
  • 下载完成后使用如下命令运行registry容器;
docker run -p 5000:5000 --name registry2 \
--restart=always \
-e REGISTRY_STORAGE_DELETE_ENABLED="true" \
-d registry:2

docker-registry-browser

  • 使用如下命令来下载docker-registry-browser的镜像;
docker pull klausmeyer/docker-registry-browser
  • 下载完成后使用如下命令运行docker-registry-browser容器;
docker run -p 5001:8080 --name registry-browser \
-e SECRET_KEY_BASE=123456 \
-e DOCKER_REGISTRY_URL=http://192.168.3.101:5000/v2 \
-e ENABLE_DELETE_IMAGES=true \
-d klausmeyer/docker-registry-browser
  • 运行成功后可以通过如下地址访问registry-browser的管理页面:http://192.168.3.101:5001

使用

接下来就以我的mall电商实战项目的镜像为例,来讲解下镜像仓库的使用。

  • 首先使用docker tag命令将本地镜像标签修改为registry中的地址;
docker tag mall/mall-admin:1.0-SNAPSHOT 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT
  • 然后通过docker push命令将镜像推送至registry镜像仓库;
docker push 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT
  • 推送完毕后在docker-registry-browser就可以查看到对应的镜像了;
  • 如果你想删除镜像的话,可以点击镜像查看详情,在最底部有删除按钮;
  • 如果你想测试下镜像的拉取功能,可以使用如下命令;
# 删除原来的本地镜像
docker rmi 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT
docker rmi mall/mall-admin:1.0-SNAPSHOT
# 从registry中拉取镜像
docker pull 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT
# 修改镜像标签(主要删除镜像的地址前缀)
docker tag 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT mall/mall-admin:1.0-SNAPSHOT
  • 接下来我们使用如下命令,就可以把mall项目后台管理系统对应的API服务运行起来了;
docker run -p 8080:8080 --name mall-admin \
--link mysql:db \
--link redis:redis \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT
  • 之后我们把mall项目后台管理系统的前端运行起来,就能正常对接后端API了;
  • 接下来我们使用如下命令,就可以把mall项目前台商城系统对应的API服务运行起来了;
docker run -p 8085:8085 --name mall-portal \
--link mysql:db \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT
  • 之后我们把mall项目前台商城系统的前端运行起来,就能正常对接后端API了。

总结

今天主要给大家分享了下通过registry和docker-registry-browser搭建轻量级Docker镜像仓库的过程,比起重量级的Harbor还是挺简单的,感兴趣的小伙伴可以尝试下!

相关推荐

什么是Java中的继承?如何实现继承?

什么是继承?...

Java 继承与多态:从基础到实战的深度解析

在面向对象编程(OOP)的三大支柱中,继承与多态是构建灵活、可复用代码的核心。无论是日常开发还是框架设计,这两个概念都扮演着至关重要的角色。本文将从基础概念出发,结合实例与图解,带你彻底搞懂Java...

Java基础教程:Java继承概述_java的继承

继承概述假如我们要定义如下类:学生类,老师类和工人类,分析如下。学生类属性:姓名,年龄行为:吃饭,睡觉老师类属性:姓名,年龄,薪水行为:吃饭,睡觉,教书班主任属性:姓名,年龄,薪水行为:吃饭,睡觉,管...

java4个技巧:从继承和覆盖,到最终的类和方法

日复一日,我们编写的大多数Java只使用了该语言全套功能的一小部分。我们实例化的每个流以及我们在实例变量前面加上的每个@Autowired注解都足以完成我们的大部分目标。然而,有些时候,我们必须求助于...

java:举例说明继承的概念_java继承的理解

在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,...

从零开始构建一款开源的 Vibe Coding 产品 Week1Day4:业界调研之 Agent 横向对比

前情回顾前面两天我们重点调研了了一下Cursor的原理和Cursor中一个关键的工具edit_file的实现,但是其他CodingAgent也需要稍微摸一下底,看看有没有优秀之处,下...

学会这几个插件,让你的Notepad++使用起来更丝滑

搞程序开发的小伙伴相信对Notepad++都不会陌生,是一个占用空间少、打开启动快的文件编辑器,很多程序员喜欢使用Notepad++进行纯文本编辑或者脚本开发,但是Notepad++的功能绝不止于此,...

将 node_modules 目录放入 Git 仓库的优点

推荐一篇文章Whyyoushouldcheck-inyournodedependencies[1]...

再度加码AI编程,腾讯发布AI CLI并宣布CodeBuddy IDE开启公测

“再熬一年,90%的程序员可能再也用不着写for循环。”凌晨两点半,王工还在公司敲键盘。他手里那份需求文档写了足足六页,产品经理反复改了三次。放在过去,光数据库建表、接口对接、单元测试就得写两三天。现...

git 如何查看stash的内容_git查看ssh key

1.查看Stash列表首先,使用gitstashlist查看所有已保存的stash:...

6万星+ Git命令懒人必备!lazygit 终端UI神器,效率翻倍超顺手!

项目概览lazygit是一个基于终端的Git命令可视化工具,通过简易的TUI(文本用户界面)提升Git操作效率。开发者无需记忆复杂命令,即可完成分支管理、提交、合并等操作。...

《Gemini CLI 实战系列》(一)Gemini CLI 入门:AI 上命令行的第一步

谷歌的Gemini模型最近热度很高,而它的...

deepin IDE新版发布:支持玲珑构建、增强AI智能化

IT之家8月7日消息,深度操作系统官方公众号昨日(8月6日)发布博文,更新推出新版deepin集成开发环境(IDE),重点支持玲珑构建。支持玲珑构建deepinIDE在本次重磅更...

狂揽82.7k的star,这款开源可视化神器,轻松创建流程图和图表

再不用Mermaid,你的技术文档可能已经在悄悄“腐烂”——图表版本对不上、同事改完没同步、评审会上被一句“这图哪来的”问得哑口无言。这不是危言耸听。GitHub2025年开发者报告显示,63%的新仓...

《Gemini CLI 实战系列》(五)打造专属命令行工具箱

在前几篇文章中,我们介绍了GeminiCLI的基础用法、效率提升、文件处理和与外部工具结合。今天我们进入第五篇...