误删/var/lib/docker/overlay2/xxx no such file or directory docker导致jenkins构建失败

IT 文章2年前 (2024)发布 小编
0 0 0

接上篇文章《jenkins构建Build step ‘Send build artifacts over SSH’ changed build result to UNSTABLE解决办法》中我们排查出是docker的overlay2中的文件占用空间特别大,就直接删除了该目录下所有7天前的文件,结果发现虽然jenkins虽然显示构建成功,蓝色图标,但是查看控制台日志发现如下报错:[v_error]ERROR: failed to solve: failed to prepare dzzq12pai98kw8byrq45ex7m7 as s7t6ejebmg1mye962qd1vk8ra: open /var/lib/docker/overlay2/pnfdyha3ye99q1y9rdtc1aufd/link: no such file or directory[/v_error]

也就是说构建其实还是失败了,原因就在于:

docker容器将容器缓存放在了overlay2这个目录下,保存着当前服务的状态等资源。将目录删除后,容器默认会先去查状态,然后再进行销毁、重启等操作。这时候,找不到目录,就停在了这里。jenkins构建自然也就失败了,解决办法如下:

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

这主要原因就是缓存镜像层的问题,要清除缓存镜像层,执行如下指令:

docker system prune -a

然后发现直接释放了54G的磁盘空间,如下图:

误删/var/lib/docker/overlay2/xxx no such file or directory docker导致jenkins构建失败

然后再去jenkins构建,发现overlay2就重建了,正常构建完成,完美,构建成功!

得出的教训就是如果想要清理docker内存,使用docker删除镜像的命令,除非删除挂载卷备份文件,其他不要使用rm去删文件,否则很容易出问题还找不到解决办法。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

© 版权声明

相关文章

暂无评论

暂无评论...