如何使 Linux Docker 镜像文件系统不区分大小写?



我有一个Docker镜像,用于使用Mingw-w64从Linux交叉编译到Windows。一个常见的问题是源代码和构建脚本不以小写形式引用文件名。(windows.h/Windows.hlibUser32.a/libuser32.a...

是否可以使对文件系统或 Docker 容器中的某些目录的任何访问不区分大小写?

Docker 通常使用 overlayfs(尽管它可以使用其他选项(,它将两个目录相互挂载。 overlayfs 本身不提供使访问不区分大小写的方法,但您可以尝试在不区分大小写的文件系统(例如,格式适当的 JFS 文件系统(上创建/var/lib/docker目录,看看是否有效。

但是,您可能不想这样做。 Linux上的Docker,就像几乎所有其他Unix工具一样,不是为处理不区分大小写的文件系统而设计的,你可能会发现各种各样的东西在那里中断。 大多数发行版不支持使包管理器使用的文件系统不区分大小写,因此如果有任何中断,您将自行修复它。

你最好使用一组脚本来修改包含和构建脚本以仅使用小写,或者使用 Wine 或 Windows VM 在更类似于 Windows 的环境中构建。

最新更新