我的问题是针对Windows的Docker.我在Windows 10 Pro x64上使用的版本是17.03.1-ce-rc1-win3(10625).
我正在尝试创建一个图像,我需要将文件夹复制到我的容器中的"Program Files(x86)"文件夹中,基于microsoft/dotnet-framework:3.5图像.
我的Dockerfile非常简单......
# escape=`
FROM microsoft/dotnet-framework:3.5
COPY ["TestFolder", "C:\Program Files (x86)\TestFolder"]
Run Code Online (Sandbox Code Playgroud)
跑步docker build,我结束了
Step 2/2 : COPY ["TestFolder", "C:\Program Files (x86)\TestFolder"]
GetFileAttributesEx C:\Program: The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)
看起来Docker错误地停止在第一个空格处解析目标名称.但是,这COPY ["<src>", ..."<dest>"]正是处理包含空格(ref)的路径的语法.如果我使用任何其他文件夹名称,如"Foo Bar",COPY指令只是按预期工作.
所以我目前的解决方法是首先使用WORKDIR将工作目录更改为"Prog ...(x86)"文件夹,然后执行COPY而不显式提供完整的dest路径.
但我真的想知道我是否对COPY指令做了任何错误.
谢谢.
你必须在大括号内使用双反斜杠
FROM microsoft/windowsservercore
COPY ["test.txt", "c:\\program files\\WindowsPowerShell\\Modules\\test.txt"]
Run Code Online (Sandbox Code Playgroud)
它被解释为JSON.
| 归档时间: |
|
| 查看次数: |
2079 次 |
| 最近记录: |