您的位置:

如何有效清理 Docker 镜像?

一、Docker 镜像简介

Docker 镜像是一种轻量级、可移植的容器化应用的打包方式,类似于虚拟机内的操作系统镜像。Docker 镜像包含了所有运行代码所需的依赖,包括操作系统、库和编译器等,可跨平台部署和运行。

二、为什么需要清理 Docker 镜像?

Docker 镜像可以随时创建和删除,但是使用不当会产生一些问题:

1、占用存储空间:每个镜像至少几百 MB,缺乏及时清理会导致镜像仓库存储空间不足,影响其他容器继续使用。

2、过多镜像严重影响查找效率。

3、安全问题:陈旧的镜像安全隐患大,缺少及时更新可能会影响应用的安全性。

三、如何查看 Docker 镜像?

使用命令 docker image ls 可以查看本地存在的所有镜像。


$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              18.04               3d08f5e1a0ae        8 days ago          63.1MB
ubuntu              latest              3d08f5e1a0ae        8 days ago          63.1MB
centos              latest              9f38484d220f        4 weeks ago         220MB

四、如何删除 Docker 镜像?

1、逐个删除

使用命令 docker image rm \ 可以删除指定 的镜像。


$ docker image rm 3d08f5e1a0ae
Untagged: ubuntu:18.04
Untagged: ubuntu@sha256:15b28c0dfa9882b2fa23cac909e2f5412476ea4d3a2fcd023a4010750e8c6a20
Deleted: sha256:3d08f5e1a0ae9eab08712e4547de3c25e6b5d95b5d4df5017885dc916d4b99ce

2、删除无用镜像

Docker 提供了命令 docker image prune,可以自动清理所有无用的镜像。无用的镜像指既没有运行中的容器使用,也没有被其他镜像所依赖的镜像。


$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:6a0f87b94420310c6fed5c0a2cb6c0bff136f23a7e9c7b623a6c6fd6f5c33628

3、删除所有镜像

如果需要删除所有镜像,可以使用命令 docker image rm $(docker image ls -qa)。


$ docker image rm $(docker image ls -qa)

五、清理 Docker 镜像的注意事项

1、请不要随便删除基础镜像,这会影响其他镜像的使用。

2、提前做好备份工作,以免误删除正常运行的容器镜像。

3、只保留最新的镜像版本,保留过多的镜像会占用较多的存储空间。

六、小结

通过本文,我们了解了 Docker 镜像的简介、为什么需要清理 Docker 镜像以及如何查看和删除 Docker 镜像,同时还介绍了清理 Docker 镜像的注意事项。希望对大家有所帮助。