MacOS彻底清除docker及image

前言

如果你已经在macos安装了docker desktop,并成功的load了image创建了Volumes以及Containers,此时在卸载docker desktop之后,image等并不会自动清除,需要手动处理。

正规清理

正确的步骤应该是:

①使用 Docker CLI 删除所有容器 → 镜像 → 卷 → 网络 → 构建缓存

② 卸载 Docker Desktop 应用程序

③ 手动删除 macOS 上 Docker Desktop 的全部残留目录(最关键)

④ 重启电脑 → 空间才会真正释放

利用docker

停止所有容器

bash 复制代码
docker stop $(docker ps -aq)

删除容器

bash 复制代码
docker rm $(docker ps -aq)

删除所有镜像

bash 复制代码
docker rmi $(docker images -q)

删除所有卷

bash 复制代码
docker volume rm $(docker volume ls -q)

删除构建网络(不删也没事)(默认的 bridge/host/none 删除不了,不影响空间)

bash 复制代码
docker network rm $(docker network ls -q)

删除构建缓存

bash 复制代码
docker builder prune -a -f

清理全部资源

bash 复制代码
docker system prune -a --volumes -f

清理配置及docker app

macOS "应用程序" → 删除 Docker.app。

手动删除残留文件,必要时加 sudo

bash 复制代码
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/.docker
rm -rf ~/Library/Logs/Docker\ Desktop
rm -rf ~/Library/Preferences/com.docker.docker.plist
rm -rf ~/Library/Saved\ Application\ State/com.electron.docker-frontend.savedState

重启电脑:

    1. Docker Desktop 使用 虚拟磁盘 qcow2 存储镜像与卷
    1. 删除后虚拟磁盘文件不会立即释放空间
    1. macOS 也会缓存文件系统的 inode
    1. 重启后这些缓存才会释放

非正规清理

该情况是非正规的,为什么写非正规的卸载办法,因为大部分朋友都是先在mac直接卸载docker desktop之后发现磁盘空间仅仅释放了docker应用程序的空间,镜像等都没有被自动清除,下面是补救办法。

卸载docker desktop

打开应用程序(Applications),直接将 docker desktop 移入废纸篓。

清除镜像

  1. command + block 打开 terminal

  2. 执行删除命令

    sudo rm -rf Library/Group\ Containers/group.com.docker/

    sudo rm -rf .docker

复制代码
sudo rm -rf /etc/docker

sudo rm -rf /usr/local/bin/com.docker.cli
sudo rm -rf /usr/local/bin/docker-credential-desktop
sudo rm -rf /usr/local/bin/docker-compose

相关推荐
Nice_Fold1 小时前
Kubernetes DaemonSet、StatefulSet与Service(自用笔记)
笔记·容器·kubernetes
sxgzzn3 小时前
光伏数智化综合平台:让光伏电站运维更智能、更高效
运维
乌托邦的逃亡者4 小时前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园4 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者4 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos
拾贰_C5 小时前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt
桌面运维家5 小时前
服务器进程异常监控:快速定位与排障实战指南
运维·服务器
Java后端的Ai之路5 小时前
Kubernetes是什么?(小白入门版)
云原生·容器·kubernetes·教程
风曦Kisaki6 小时前
# Linux Shell 编程入门 Day02:条件测试、if 判断、循环与随机数
linux·运维·chrome