需求背景:
项目打包成功后上传到私服,本地就没有存在的必要了,进行镜像清理,节约磁盘空间,
shell脚本如下:

#!/bin/bash

image_name=("bigdata" "im2")

# 使用docker images命令获取所有镜像的信息,并使用awk提取镜像名称
for name in ${image_name[@]}
do 
    image_tag=$(docker images | grep ${name} | awk '{print $3}')
    for del_tag in ${image_tag}
    do
        docker rmi ${del_tag}
    done
done

清理镜像后有时候可能磁盘并不会释放空间。可以使用下面命令查看具体情况。

[root@ops-jenkins-01 ]$docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          12        0         4.919GB   4.919GB (100%)
Containers      0         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     44        0         0B        0B

不释放的情况下Build Cache 会占用大量的空间,需要执行下面的命令来进行缓存清理

docker builder prune

用于清理这些不再使用的构建器资源,以释放磁盘空间。它会删除不再使用的构建器、
构建器缓存和构建日志等资源,但会保留正在使用的构建器。

Last modification:September 21, 2023
如果觉得我的文章对你有用,请随意赞赏