一键清理 Nexus 中无用的 Docker 镜像
欢迎访问陈同学博客原文
现许多团队使用 Nexus 来管理 Docker 镜像,产品不断迭代,镜像仓库占用的磁盘空间也越来越大。由于 Nexus 的控制台并未提供批量操作镜像功能,清理镜像十分不便。本文分享一个清理 Nexus 中 Docker 镜像的小工具 — nexus-cli。
可参考 nexus-cli 的相关资料,nexus-cli GitHub、开发者博客原文、Nexus 官方博客文章。
下面结合 nexus-cli + sublime 做一个演示。
下载脚本并授权
wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli chmod +x nexus-cli
配置待清理的库
$ nexus-cli configure Enter Nexus Host: http://127.0.0.1:8081 Enter Nexus Repository Name: demo Enter Nexus Username: admin Enter Nexus Password: xxxxxx
http://127.0.0.1:8081 是 Nexus 服务的地址,为了安全,可以直接在 Nexus 所在的机器处理。
列出所有镜像
$ nexus-cli image ls oauth-service report-service fund-service ...
这里仅列出三个作为例子。
清理镜像
nexus-cli image delete -name IMAGE_NAME -keep X,-keep X 表示保留几个tag
清理单个镜像的tag,这里仅保留最新的两个tag
$ nexus-cli image delete -name fund-service -keep 2 fund-service:2018.11.1-113322 image will be deleted ... fund-service:2018.11.1-113322 has been successful deleted fund-service:2018.11.1-145912 image will be deleted ... fund-service:2018.11.1-145912 has been successful deleted ...
清理所有镜像的tag,结合 sublime 的批量处理功能,十分方便。
清理磁盘空间
最后,创建两个Nexus Task 来清理物理空间。先运行 Purge unused docker manifests and images,再运行 Compact blob store。
此时,可以查看磁盘目录 sonatype-work/nexus3/blobs/ 的磁盘占用情况。
$ du -lh --max-depth=1 . | grep demo 2.1G ./demo
小结
由于开发测试环境中应用迭代非常频繁,镜像消耗磁盘的速度也非常快。若磁盘空间足够,每隔一定时间手工清理即可;若需要频繁清理,使用脚本自动化处理也十分方便。
文首列举的 nexus-cli 的资料中,有 nexus-cli 的更多操作命令,可自行参考。
欢迎关注陈同学的公众号,一起学习,一起成长
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker安装gitlab从入门到放弃
运行镜像: [root@sannian min]# docker run -d --restart=always --name gitlab -p 9999:80 -p 4422:22 --hostname 47.99.145.156 twang2218/gitlab-ce-zh [root@sannian .ssh]# ssh-keygen -t rsa -C "admin@example.com" [root@sannian .ssh]# vim /root/.gitconfig [root@sannian .ssh]# vim id_rsa.pub 创建并添加密钥 [root@sannian .ssh]# git clone git@47.99.145.156:4422:root/eatjoys-front-min.git Cloning into 'eatjoys-front-min'... git@47.99.145.156's password: Permission denied, please try again. git@47.99.145.156's passwor...
- 下一篇
使用Docker构建服务
要构建的是使用Jekyll框架的自定义网站.会构建两个镜像. 一个镜像安装了Jekyll及其他用于构建Jekyll网站必要的软件包 一个镜像通过Apache来让Jekyll网站工作起来.在启动容器时,通过创建一个新的Jekyll网站来实现自服务.工作流程: 创建Jekyll基础镜像和Apache镜像 从Jekyll镜像创建一个容器,这个容器存放通过卷挂载的网站源码 从Apache镜像创建一个容器,这个容器利用包含编译后的网站的卷,并为其服务. 在网站需要更新时,清理并重复上面的步骤.可以把这个例子看做是创建一个多主机站点最简单的方法. 一. Jekyll基础镜像 创建Jekyll Dockerfile mkdir jekyll cd jekyll vi Dockerfile Dockerfile 内容: FROM ubuntu:18.04 MAINTAINER hiekay "hikay5230@gmail.com" ENV REFRESHED_AT 2018-11-8 RUN apt-get -yqq update RUN apt-get -yqq install ruby ruby...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块