Docker 在 windows 上进行多级复制 c:\windows 不允许

Docker multistage on windows COPY c:\windows not allowed

我正在尝试将 vsbuildtools 安装在 docker 容器中 windows。不幸的是,即使使用 installPath,安装程序也会到处安装东西。

因此,我必须做

Step 27/32 : COPY --from=SetupPhase C:\Windows C:\Windows

但它给了我这个错误:

docker : COPY failed: copy from c:\ or c:\windows is not allowed on
windows At line:1 char:1
+ docker build -m 2GB -t monamimani/msbuild .
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (COPY failed: co...owed on windows:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError   Command executed with exception: COPY failed: copy from c:\ or c:\windows is not allowed on windows

有办法解决吗?

通过尝试其他路径来检查这是否是权限问题,仅用于测试。

但也要考虑“Dockerfile on Windows”,它指定 COPY 命令:

Windows Considerations

On Windows, the destination format must use forward slashes.
For example, these are valid COPY instructions.

COPY test1.txt /temp/
COPY test1.txt c:/temp/

However, the following will not work.

COPY test1.txt c:\temp\

我找到了一个解决方法,但它不起作用

COPY --from=SetupPhase ["C:\Windows", "C:\Windows"]

但这行得通

COPY --from=SetupPhase ["C:\Windows\assembly", "C:\Windows\assembly"]

所以我只需要运行对每个我想复制的c:\windows子文件夹进行一次复制操作。