unifreq/openwrt_packit

使用docker容器的方式进行打包,会出现wait for /dev/loop1p1 死循环,但第二次打包能百分百成功

codercaizh opened this issue · 1 comments

当我使用ubuntu22.04创建一个打包的容器后在里面运行打包脚本时会出现如下问题:
image
这个时候退出容器,重新再启动容器和执行打包脚本就能成功打包
这个“第一次打包遇到上面的失败、然后第二次打包就能成功”现象百分百必现,不是偶然。我观察到的区别是当第一次打包失败后,即使我删除掉容器,在宿主机执行fdisk -l 还是会出现下面这个Device,这个Device是打包脚本创建的
截屏2022-12-01 01 43 17
只要存在红框处的Device,第二次打包就能百分百成功,打包成功后这个Device就会消失,然后第三次打包就会失败,一失败就会出现这个Device,然后第四次打包就能成功,以此类推
请问下是什么原因呢?

在谷歌搜了一圈,原因大概是docker设计里就不允许动态创建分区,如果需要这么搞,要先起个容器创建,然后在起个容器去使用分区