yar*_*nkl 6 containers unzip docker dockerfile
我正在尝试构建一个 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
Run Code Online (Sandbox Code Playgroud)
从容器 powershell 运行:
dir
Run Code Online (Sandbox Code Playgroud)
此时,我希望看到在构建过程中提取的“image.zip”的内容。但我没有,只有“image.zip”。
找到了一种方法,使用 .tar 文件代替 .zip 并使用“ADD”而不是“COPY”:
DOCKERFILE。现在看起来像这样:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
ADD test3.tar c:/
Run Code Online (Sandbox Code Playgroud)
ADD 命令提取存档。
小智 5
这是正确的 ADD 指令提取存档文件,但不是所有格式。例如ADD,或者COPY指令不支持提取.zip文件,但.tar支持文件等。
我建议执行以下操作:
DockerfileADD指令将 zip 文件从源复制到目标RUN指令。ADD喜欢:ADD <file_name.zip> /<destination>
RUN unzip <file_name.zip>
Run Code Online (Sandbox Code Playgroud)
Dockerfile说明。| 归档时间: |
|
| 查看次数: |
44231 次 |
| 最近记录: |