Dockerfile:复制zip并打开它
我正在尝试构建一个Windows docker映像,它会将我的软件复制到映像并解压缩。 我正在Windows 10主机上工作。 这些步骤是:Dockerfile:复制zip并打开它,docker,dockerfile,containers,unzip,Docker,Dockerfile,Containers,Unzip,我正在尝试构建一个Windows docker映像,它会将我的软件复制到映像并解压缩。 我正在Windows 10主机上工作。 这些步骤是: 准备文件Dockerfile。使用以下行: 来自mcr.microsoft.com/windows/servercore:ltsc2019 复制image.zip c:\image.zip CMD[“powershell.exe”,“展开归档文件-LiteralPath'C:\image.zip'-DestinationPath'C:\” 准备一个名为i
docker run --rm -it test3 powershell
dir
此时,我希望看到在构建过程中提取的“image.zip”的内容。但我没有看到,只有“image.zip”。找到了一种方法,使用.zip的.tar文件插入并使用“添加”而不是“复制”: DOCKERFILE。现在看起来像这样:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
ADD test3.tar c:/
ADD命令提取存档。确实如此,ADD指令提取存档文件,但不是所有格式。例如,
ADD
或COPY
指令不支持提取.zip
文件,但支持提取.tar
文件等
我建议采取以下措施:
Dockerfile
ADD
指令将zip文件从源复制到目标添加
指令后运行指令以提取zip文件。
比如:ADD/
运行解压
Dockerfile
说明您在
docker run
命令行上提供的命令将运行,而不是图像的CMD
。您的意思是run
命令来提取归档文件吗?不,我希望在构建过程中解压文件,而不是在运行过程中。我想这就是我试图了解的:如何在构建过程中解压文件s使用DOCKERFILE。RUN
确实作为生成的一部分运行;CMD
指定启动容器时应运行的命令。另请参阅。
ADD <file_name.zip> /<destination>
RUN unzip <file_name.zip>