3

我正在为 Windows 运行 Docker(在 MacOSX 上可以观察到下面描述的类似效果)我有一个 Docker 容器,其中一个程序尝试访问 squashfs 图像。要访问 squashfs,内核必须要么静态遵守 loopdevice 支持,要么加载相关的内核模块。当我尝试挂载映像或设置循环设备时,在 docker 容器之间共享的内核找不到 loopdevice 模块。我可能会使用 unsquashfs 工具,但使用 squashfs 图像是有原因的:squashfs 有一个非常不错的属性:它允许无限数量的文件和 inode - 如果我尝试解压缩图像,我很快就会达到图像的 inode 限制。docker 附带的 Moby Linux 内核是静态编译的内核吗?要挂载哪个卷才能访问其/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'

4

0 回答 0