在工作中,有时我们需要搭建自己的Docker镜像仓库来存储镜像,如果使用Harbor的话有点太重量级了。今天给大家分享一套基于registry和docker-registry-browser的轻量级解决方案,带可视化管理,希望对大家有所帮助!
registry是Docker官方提供的用于存储和分发Docker镜像的服务,使用它能创建私有的Docker镜像仓库,满足对镜像私有化管理的需求。
docker-registry-browser是一款基于registry的可视化管理工具,使用它可以方便地查看和管理存储在registry中的Docker镜像。
下面是使用它管理registry中镜像的效果图,页面还是挺不错的!
由于下面会以mall项目的镜像为例来讲解镜像仓库的使用,这里简单介绍下mall项目,mall项目是一套基于 SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和 2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
项目演示:
首先我们需要安装好registry和docker-registry-browser,这里我们使用Docker来安装。
docker pull registry:2
docker run -p 5000:5000 --name registry2 \--restart=always \-e REGISTRY_STORAGE_DELETE_ENABLED="true" \-d registry:2
docker pull klausmeyer/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
接下来就以我的mall电商实战项目的镜像为例,来讲解下镜像仓库的使用。
docker tag mall/mall-admin:1.0-SNAPSHOT 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT
docker push 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOT
# 删除原来的本地镜像docker rmi 192.168.3.101:5000/mall/mall-admin:1.0-SNAPSHOTdocker 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
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
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
今天主要给大家分享了下通过registry和docker-registry-browser搭建轻量级Docker镜像仓库的过程,比起重量级的Harbor还是挺简单的,感兴趣的小伙伴可以尝试下!