虚拟机ubuntu中磁盘满了 + 镜像损坏,如何解决

目标:磁盘空间释放、坏镜像删掉、容器正常启动

报错:

复制代码
$ podman rmi -f 82cfc386c1bcbc6c12de84a888ab36a6716b5ce8c4338b01561a52a22d1e0d49
Error: 2 errors occurred:
	* write /home/taskmanager/.local/share/containers/storage/overlay-containers/.tmp-containers.json2603214207: no space left on device
	* write /home/taskmanager/.local/share/containers/storage/overlay-layers/.tmp-layers.json736780310: no space left on device

核心问题:磁盘彻底写满了,连执行删除命令的临时空间都没有,所以删镜像也报错,优先级:先

清空间 → 再删垃圾 → 最后操作容器镜像

先清空间

复制代码
​
# 1. 紧急清理系统最大的垃圾:日志文件,瞬间释放几G空间
sudo journalctl --vacuum-size=100M

# 2. 清理用户目录缓存+临时文件,释放/home空间(你的报错目录)
rm -rf ~/.cache/* && rm -rf /tmp/*

# 3. 强制清空Podman/Docker所有缓存+垃圾,不询问直接删
podman system prune -a -f --volumes

​

删那个损坏镜像

复制代码
podman rmi -f 82cfc386c1bcbc6c12de84a888ab36a6716b5ce8c4338b01561a52a22d1e0d49

重启项目容器

复制代码
podman rm -f task-manager
podman run -d --name task-manager -p 6006:6006 localhost/task-manager-backup:latest gunicorn -w4 -b0.0.0.0:6006 app:app

验证是否全部恢复正常

复制代码
podman images
podman ps

Podman 与 Docker 的无缝切换

当前是Podman模拟Docker,两者99% 的命令完全一致,不需要做任何修改,日常使用:

  1. 所有docker xxx命令,比如docker ps/run/rm/pull/save/load 都可以正常敲,执行的是 Podman;
  2. Podman 比 Docker 更轻量、无守护进程,对 python 项目 / 后端服务更友好,无需替换为原生 Docker
  3. 唯一区别:Podman 的容器存储路径和 Docker 不同,但使用无感知,不用管。

可选:安装原生 Docker(如果想彻底替换 Podman)

如果强迫症想装原生 Docker,执行下面的命令一键安装(Ubuntu/Debian 通用),安装后 Podman 的软链接会被覆盖,docker xxx就是原生 Docker 了:

复制代码
sudo apt-get update && sudo apt-get install docker.io docker-compose -y
sudo systemctl start docker && sudo systemctl enable docker
sudo usermod -aG docker $USER

执行完后注销重新登录,即可免 sudo 执行 docker 命令。

相关推荐
xfddlm2 分钟前
边缘计算_ubuntu环境下使用瑞芯微RK3576NPU推理LLM
人工智能·ubuntu·边缘计算
Fleshy数模4 分钟前
MySQL 表创建全攻略:Navicat 图形化与 Xshell 命令行双模式实践
linux·mysql
神梦流36 分钟前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年43 分钟前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
EHagSJVNpTY1 小时前
MATLAB 中基于最大重叠离散小波变换的心电信号处理探索
ubuntu
.小墨迹1 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_2 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield2 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑2 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴2 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生