首页 > 解决方案 > Dockerfile:复制zip并打开它

问题描述

我正在尝试构建一个 Windows docker 映像,它将我的软件复制到该映像并解压缩它。我正在使用 Windows 10 主机。步骤是:

  1. 准备文件 Dockerfile。使用以下几行:

    来自 mcr.microsoft.com/windows/servercore:ltsc2019

    复制 image.zip c:\image.zip

    CMD ["powershell.exe", "展开-存档-LiteralPath 'C:\image.zip' -DestinationPath 'c:\'"

  2. 准备一个名为 image.zip 的 zip 文件,其中包含一些文件。

  3. 运行命令:

    docker build -t test3 。

  4. 至此,镜像构建完成。image.zip 被复制到图像中。

  5. 运行容器:

    docker run --rm -it test3 powershell
    
  6. 从容器 powershell 运行:

    dir
    

此时,我希望看到在构建过程中提取的“image.zip”的内容。但我没有,只有“image.zip”。

标签: dockerdockerfilecontainersunzip

解决方案


找到了一种使用 .tar 文件而不是 .zip 并使用“ADD”而不是“COPY”的方法:

码头文件。现在看起来像这样:

FROM mcr.microsoft.com/windows/servercore:ltsc2019
ADD test3.tar c:/

ADD 命令提取档案。


推荐阅读