【问题标题】:How to use the path with the space in docker file如何在docker文件中使用带有空格的路径
【发布时间】:2016-09-02 17:36:30
【问题描述】:

我想在 docker 文件中编写一个 cmd 来将文件复制到目标 C:\windows\Program Files。由于程序文件中的空间,我遇到了问题。我可以将文件复制到不同的位置。任何建议将不胜感激。

我遇到以下错误:

第 4 步:复制“C:\docker\prerequisites\MicrosoftSDKs”“C:\Program Files (x86)\MicrosoftSDKs"

构建上下文之外的禁止路径:C:\docker\prerequisites\MicrosoftSDKs ()

【问题讨论】:

  • 1 - 将路径用引号括起来。 2 - 转义空间,例如 `Program\ Files'。

标签: dockerfile


【解决方案1】:

使用 JSON 格式,大括号内必须使用双反斜杠

FROM microsoft/windowsservercore 
COPY ["C:\\docker\\prerequisites\\MicrosoftSDKs", "C:\\Program Files (x86)\\MicrosoftSDKs"]

你也可以使用斜线:

COPY ["C:/Program Files/nodejs", "/windows/system32"]

【讨论】:

    【解决方案2】:

    解决方法: 将带空格的脚本写入文件,并在docker文件中,通过调用文件来运行脚本。

    在名为 myscript.bat 的文件中写入 COPY "C:\docker\prerequisites\MicrosoftSDKs" "C:\Program Files (x86)\MicrosoftSDKs"

    在 DockerFile 中

    运行 myscript.bat

    【讨论】:

      【解决方案3】:

      如果有空格,用这样的引号将路径括起来应该会有所帮助:

      "C:\windows\Program Files"
      

      【讨论】:

        猜你喜欢
        • 2014-09-07
        • 2012-02-26
        • 1970-01-01
        • 2022-10-05
        • 1970-01-01
        • 2013-03-06
        • 1970-01-01
        • 2013-09-10
        • 2018-07-10
        相关资源
        最近更新 更多