我想构建一个 Docker 镜像,包括我的自定义 Powershell 模块。因此,我使用 Microsoft 的microsoft/powershell:latest图像,我想从中创建自己的图像,其中包括我的 psm1 文件。
对于简单的测试,我有以下 docker 文件:
FROM microsoft/powershell:latest
RUN mkdir -p /tmp/powershell
COPY C:/temp/somedirectory /tmp/powershell
Run Code Online (Sandbox Code Playgroud)
我想将 C:\temp\somedirectory 中包含的文件复制到 docker linux 容器。构建图像时,我收到以下错误:
C:\temp\docker_posh> docker build --rm -f Dockerfile -t docker_posh:latest 。
将构建上下文发送到 Docker 守护进程 2.048kB
第 1/3 步:从 microsoft/powershell:latest ---> 9654a0b66645
第 2/3 步:运行 mkdir -p /tmp/powershell ---> 使用缓存 ---> 799972c0dde5
步骤 3/3 : COPY C:/temp/somedirectory /tmp/powershell COPY failed: stat /var/lib/docker/tmp/docker-builder566832559/C:/temp/somedirectory: no such file or directory
我当然知道 Docker 说我找不到文件/目录。因此,我还尝试了C:/temp/somedirectory/.、C:/temp/somedirectory/*和C:\\temp\\somedirectory\\作为 Dockerfile 中的替代源路径 -> 结果:它们都不起作用。
docker version
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:05:22 2017
OS/Arch: windows/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:29 2017
OS/Arch: linux/amd64
Experimental: true
Run Code Online (Sandbox Code Playgroud)
如何通过 Dockerfile 复制包含子文件夹和文件的文件夹?
yam*_*enk 10
构建 docker 镜像时,您不能复制构建上下文之外的文件。构建上下文是您为 docker build 命令指定的路径。在指导的情况下
C:\temp\docker_posh> docker build --rm -f Dockerfile -t docker_posh:latest .
Run Code Online (Sandbox Code Playgroud)
在.指定的构建上下文C:\temp\docker_posh。因此C:/temp/somedirectory无法访问。您可以将 Dockerfile 移动到 temp,也可以在C:\temp. 但请记住修复 Dockerfile 指令以使路径相对于构建上下文。
| 归档时间: |
|
| 查看次数: |
12141 次 |
| 最近记录: |