【发布时间】:2021-10-16 00:20:53
【问题描述】:
运行 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)来解决问题,但这会显着降低容器运行速度(尤其是在开发过程中)。
任何解决方法/建议/想法?总体目标是能够在 CI 中运行基于 MSYS2 的构建。
【问题讨论】: