Docker 是一个开源的容器引擎,可以让开发者更轻松地构建、打包、发布和运行应用程序。但是,随着时间的推移,Docker 镜像和容器会越来越多,这可能会占用大量的磁盘空间,并且会影响 Docker 的性能。因此,我们需要定期清理 Docker 无用的镜像和容器,以释放磁盘空间并提高 Docker 的性能。
清理无用镜像
Docker 镜像是 Docker 容器的基础,每个容器都是基于一个镜像创建的。因此,我们需要定期清理无用的镜像以释放磁盘空间。
查看所有镜像
我们可以使用 docker images
命令来查看所有的 Docker 镜像:
$ docker images
查看镜像使用情况
我们可以使用 docker image ls -a
命令来查看每个镜像的使用情况:
$ docker image ls -a
该命令将列出所有镜像,包括它们的 ID、创建时间、大小和标签。
清理无用镜像
我们可以使用 docker image prune
命令来清理无用的镜像,该命令将删除未被任何容器使用的镜像:
$ docker image prune
该命令将提示您是否要删除无用的镜像。如果您确定要删除,请输入 y
。
删除单个镜像
如果您想删除单个镜像,可以使用 docker image rm
命令:
$ docker image rm <镜像 ID>
清理无用容器
Docker 容器是 Docker 镜像的运行实例。当容器不再需要时,我们需要将其删除以释放磁盘空间。
查看所有容器
我们可以使用 docker container ls -a
命令来查看所有的 Docker 容器:
$ docker container ls -a
查看容器使用情况
我们可以使用 docker container ls -a
命令来查看每个容器的使用情况:
$ docker container ls -a
该命令将列出所有容器,包括它们的 ID、创建时间、状态和名称。
清理无用容器
我们可以使用 docker container prune
命令来清理无用的容器,该命令将删除停止的容器:
$ docker container prune
该命令将提示您是否要删除无用的容器。如果您确定要删除,请输入 y
。
删除单个容器
如果您想删除单个容器,可以使用 docker container rm
命令:
$ docker container rm <容器 ID>
自动清理
为了避免手动清理 Docker 镜像和容器,我们可以设置一个定时任务来自动清理无用的镜像和容器。
设置定时任务
我们可以使用 crontab
命令来设置定时任务。编辑 crontab 文件:
$ crontab -e
在文件末尾添加以下行:
0 0 * * * docker image prune -f && docker container prune -f
该命令将在每天午夜清理无用的镜像和容器。
查看定时任务
我们可以使用 crontab -l
命令来查看当前的定时任务:
$ crontab -l
总结
在 Linux 下清理 Docker 无用镜像和容器是一个很重要的任务,可以释放磁盘空间并提高 Docker 的性能。我们可以使用 docker image prune
和 docker container prune
命令来清理无用的镜像和容器,也可以设置一个定时任务来自动清理。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65603c34d2f5e1655da68c55