我正在运行Docker for Windows(下面描述的类似效果可在MacOSX上观察到)
我有一个Docker Container,程序试图访问squashfs图像。要访问squashfs,内核必须静态地遵循loopdevice支持或加载相关的内核模块。
当我尝试挂载映像或设置循环设备时,docker容器之间共享的内核无法找到loopdevice模块。
我可以使用unsquashfs工具但是使用squashfs图像有一个原因:squashfs具有非常不错的属性:它允许无限数量的文件和inode - 如果我尝试解压缩图像,我会快速达到图像的inode限制。
Moby Linux内核是否与docker一起提供了一个静态编译的内核?要挂载什么卷才能访问其/ lib / modules?在特权容器中运行的lsmod
列出没有加载的模块。尝试modprobe loop
会产生以下错误消息:
root@6e1b23cc65e5:/# modprobe loop
modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.8-moby/modules.dep.bin'