侧边栏壁纸
博主头像
fastjrun博主等级

前大厂工程师,长期从事 Java 开发,架构设计,容器化等相关工作,精通java,熟练使用maven、jenkins等devops相关工具链,擅长容器化方案规划、设计和落地。

  • 累计撰写 70 篇文章
  • 累计创建 47 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

清理docker占用空间

fastjrun
2022-03-02 / 0 评论 / 0 点赞 / 481 阅读 / 1,115 字 / 正在检测是否收录...

docker system df

用docker system df可以查看docker的镜像,容器和本地卷等空间占用情况。

TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              2                   0                   5.786GB             5.786GB (100%)
Containers          0                   0                   0B                  0B
Local Volumes       0                   0                   0B                  0B
Build Cache         0                   0                   0B                  0B

docker system prune

docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。

WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N] 

因为我已经不需要用docker测试那些工具了,所以打算把镜像全部删除。 那么用docker system prune -a命令可以清理得更加彻底,将没有容器使用 Docker 镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉。

WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all images without at least one container associated to them
        - all build cache
Are you sure you want to continue? [y/N] y

其他命令

对于悬空镜像和未使用镜像可以使用手动进行个别删除:

  • 删除所有悬空镜像,不删除未使用镜像:

docker rmi $(docker images -f "dangling=true" -q)

  • 删除所有未使用镜像和悬空镜像

docker rmi $(docker images -q)

  • 清理卷

如果卷占用空间过高,可以清除一些不使用的卷,包括一些未被任何容器调用的卷(-v 详细信息中若显示 LINKS = 0,则是未被调用): 删除所有未被容器引用的卷:
docker volume rm $(docker volume ls -qf dangling=true)

  • 容器清理

如果发现是容器占用过高的空间,可以手动删除一些: 删除所有已退出的容器:
docker rm -v $(docker ps -aq -f status=exited)

  • 删除所有状态为dead的容器

docker rm -v $(docker ps -aq -f status=dead)

0

评论区