【发布时间】:2021-03-11 23:28:42
【问题描述】:
我正在尝试构建一个 Windows docker 映像,它将我的软件复制到该映像并解压缩它。 我正在使用 Windows 10 主机。 步骤是:
-
准备文件 Dockerfile。使用以下几行:
来自 mcr.microsoft.com/windows/servercore:ltsc2019
复制 image.zip c:\image.zip
CMD ["powershell.exe", "Expand-Archive -LiteralPath 'C:\image.zip' -DestinationPath 'c:\'"
-
准备一个名为 image.zip 的 zip 文件,其中包含一些文件。
-
运行命令:
docker build -t test3 .
-
此时图像已构建。 image.zip 已复制到图像中。
-
运行容器:
docker run --rm -it test3 powershell -
从容器 powershell 运行:
dir
此时,我希望看到在构建过程中提取的“image.zip”的内容。但我没有,只有“image.zip”。
【问题讨论】:
-
您在
docker run命令行上提供的命令运行而不是图像的CMD。您的意思是RUN提取档案的命令吗? -
不,我希望在构建过程中解压缩文件,而不是在运行过程中。我想这就是我想要找出的:如何在使用 DOCKERFILE 的构建过程中解压缩文件。
-
RUN确实作为构建的一部分运行;CMD指定容器启动时应该运行的命令。另请参阅Difference between RUN and CMD in a Dockerfile。
标签: docker dockerfile containers unzip