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 导入的用于映射网络驱动器的相对较新的东西。不完全确定
运行 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 导入的用于映射网络驱动器的相对较新的东西。不完全确定