docker - Dockerfile:复制zip并打开它
问题描述
我正在尝试构建一个 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:\'"
准备一个名为 image.zip 的 zip 文件,其中包含一些文件。
运行命令:
docker build -t test3 。
至此,镜像构建完成。image.zip 被复制到图像中。
运行容器:
docker run --rm -it test3 powershell
从容器 powershell 运行:
dir
此时,我希望看到在构建过程中提取的“image.zip”的内容。但我没有,只有“image.zip”。
解决方案
找到了一种使用 .tar 文件而不是 .zip 并使用“ADD”而不是“COPY”的方法:
码头文件。现在看起来像这样:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
ADD test3.tar c:/
ADD 命令提取档案。
推荐阅读
- node.js - 两个不同密码的 .env 环境
- spring-boot - Spring 和 Kafka:对 Kafka Producer 和 Kafka Streams 使用相同的绑定
- flutter - 如何在颤动中更改我的平面按钮的位置......(从最左边到最右边)
- java - 查找与用户输入匹配的数组中的第一个元素并在 2 个二维数组之间打印该位置
- javascript - 如何使用模态对话框库将用户输入存储为变量?(JavaScript)
- c++ - (char*)&obj 替代品
- javascript - 如何修复:discord.js 中的“TypeError:无法读取未定义的属性‘标签’”错误
- css - FullPage.JS 分屏。在移动设备上使其成为一页样式
- javascript - 在android上运行应用程序时出现问题
- css - webpack 4:创建多个主题 css 文件