docker msys2: 符号链接层数过多

docker msys2: Too many levels of symbolic links

运行 Docker 版本 20.10.8,使用 Windows 容器,我试图挂载本地目录以在 MSYS2 容器中使用(基础是 mcr.microsoft.com/windows:20H2 , MSYS2 安装在通常的位置)。当我 运行 容器并使用调用启动 MSYS bash 时,我在 z: 挂载了一个本地目录:

docker run -v C:\path\to\dir:z: my:mingw-image C:\msys64\usr\bin\bash.exe -lc "ls /z/"

但是,当我这样做时,出现错误:

ls: cannot access '/z/': Too many levels of symbolic links

一些挖掘 (docker/for-win#109) 让我相信这与 Docker 如何安装 Z: 和 MSYS 符号链接如何工作之间的不良交互有关,但我我不确定我是否只是在做一些明显错误的事情(X/Y 可能是问题?)或者这是否就是这样。

我似乎可以通过首先将 Z: 的内容复制到另一个位置(如 C:\foo)来解决问题,但这会显着降低容器 运行 的速度(尤其是在开发过程中) ).

有 workarounds/suggestions/thoughts 吗?总体目标是能够 运行 在 CI.

中构建基于 MSYS2 的版本

我找到了解决方案 - MSYS=nonativeinnerlinks

发件人:https://github.com/msys2/msys2-runtime/issues/58

似乎是从 cygwin 导入的用于映射网络驱动器的相对较新的东西。不完全确定