清理 Docker 缓存通常是为了释放磁盘空间。这主要包括清理已停止的容器、无用的镜像、未使用的数据卷和网络

注意: 请谨慎执行这些命令,它们会永久删除数据。在执行前,请确保您不再需要这些数据。

# 1. 综合清理命令(最常用)

这是最推荐的 “一键清理” 命令,它会清理大部分无用对象:

docker system prune

这个命令会提示您确认,然后删除:

  • 所有已停止的容器
  • 所有未使用的网络
  • 所有悬空的镜像(dangling images,即没有标签且未被任何容器引用的镜像)
  • 所有悬空的构建缓存

# 2. 更彻底的综合清理

如果您想进行更彻底的清理,可以添加 -a (或 --all ) 标志。

docker system prune -a

这将在上述 system prune 的基础上,额外删除:

  • 所有未被任何容器使用的镜像(不仅仅是悬空镜像)。

# 3. 清理数据卷(重要)

默认情况下, docker system prune 不会删除数据卷(Volumes),因为它们可能包含您不想丢失的数据库或应用数据。

如果您确认不再需要任何未使用的数据卷,可以运行:

docker volume prune

或者,您也可以在 system prune 命令中明确包含数据卷:

docker system prune --volumes

# 4. 清理构建缓存

如果您经常使用 docker build 构建镜像,构建缓存可能会占用大量空间。您可以使用以下命令专门清理构建缓存:

docker builder prune

# 总结推荐

  • 快速、安全清理:
    docker system prune
  • 强力清理(释放最多空间,会删除未使用的镜像):
    docker system prune -a
  • 最强力清理(强力清理 + 删除未使用的数据卷):
    docker system prune -a --volumes

在执行任何清理命令之前,您可以使用以下命令查看 Docker 占用的磁盘空间情况:

docker system df

这个命令会列出镜像、容器、本地数据卷等占用的空间。

您想了解某个特定命令(比如 docker volume prune )的详细用法吗?

阅读次数

请我喝[茶]~( ̄▽ ̄)~*

藏雪 微信支付

微信支付

藏雪 支付宝

支付宝

藏雪 贝宝

贝宝