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

相关推荐
寒晓星9 小时前
[linux]线程及多线程
linux·运维
慧一居士9 小时前
Linux如何设置固定的静态ip
运维
梦梦代码精10 小时前
开源AI应用平台BuildingAI解析:插件化架构、应用市场与热门案例
人工智能·机器学习·docker·开源
国服第二切图仔11 小时前
13其他工具 - Skill/LSP/Sleep等
linux·运维·里氏替换原则
暴力求解11 小时前
Linux ---线程控制(二)
linux·运维·服务器·操作系统
梦痕长情12 小时前
等保三级三权账户
linux·运维·服务器
IT瑞先生12 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
梦远青城13 小时前
Docker 部署python的paddle进行OCR文字识别身份证
python·docker·ocr·paddle·身份证识别
jiecy13 小时前
为Linux系统双网卡配置静态路由
linux·运维
CodexDave14 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes