记录一次docker制作导致的ubuntu系统启动异常

1. 背景

在使用docker build -t 命令构建镜像后,发现ubuntu系统提示内存资源不足,没管直接操作重启,结果卡在了启动页里,进不了图形界面。尝试ctrl+F1~F6,进入后一直闪屏,也无法正常输入。文档记录了如何最终定位并解决这个问题。

2. 解决过程

2.1 重启后提示nvidia驱动异常?

在操作重启后,卡在了启动页里,并提示Nvidia驱动异常?这个问题一度带偏了我,以为是驱动问题。如下图,类似这种:

对应错误记录:

Failed to start nvidia-powerd service

faied to start NVIDIA persistence Daemon

尝试进入到tty模式,发现一个问题:进入后一直闪屏,导致没发正常输入密码,,,

2.2 不用tty模式,如何找一个终端执行?

尝试再次重启电脑,按Esc进入到recovery mode,选择第二个recovery mode对应的内核进入,这里会提供联网配置、root终端的基本功能,我们按照如下顺序进行:

1. 选择"Network"进入,此步骤可能要多次选择,可以完成一个外网的联网。

2. 联网后,选择"Root"进入,并输入root密码(建议和你用户密码保持一致,,,),然后就得到了一个连外网的终端。

3. ifconfig可以看到外网的ip地址,成功。

2.3 最终定位docker占满系统盘

在上一轮进入到root终端里,用 df -h 观察磁盘情况,发现了 /dev/nvme0n1p2 占用100% 的现象,这个对应着根目录 "/",怀疑是系统盘满了导致系统启动时无法正常加载nvidia显卡驱动

于是找过很多文档,这里记录一下:
引用一下这位老哥的文档:linux /dev/nvme0n1p2 full-掘金
 

知道了占满,就要知道什么东西占满了,这里用了列举法,将每个文件对应的大小都打印

sudo du -h / | grep '[0-9\.]\+G'

发现 /var/lib/docker/overlay2  下有很多文件,每个文件都占用了几个G,总共占用了90多G(系统盘200多G)。

查找如何清理 /var/lib/docker/overlay2 的方法,得到如下命令:

docker system prune -a

会清理所有无用镜像、缓存、挂载数据。清理之后,发现终于多出来90多G空间。于是,尝试重启系统。恢复~,成功。

3. 问题原因及解决操作

原因:docker制作导致/var/lib/docker/overlay2 路径占满了系统盘,导致卡在启动页

解决操作

df -h 查看 /dev/nvme0n1p2 占用100%

然后 sudo du -h / | grep '[0-9\.]\+G' 统计发现 /var/lib/docker/overlay2 占用了大部分空间

最后 docker system prune -a 清理了内存

重启电脑恢复

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值