gpt4 book ai didi

Dockerfile : Copy directory from Windows host to docker container

转载 作者:行者123 更新时间:2023-12-02 18:08:04 24 4
gpt4 key购买 nike

我想构建一个包含我的自定义 Powershell 模块的 Docker 镜像。因此我使用微软 microsoft/powershell:latest图像,我想从中创建自己的图像,其中包括我的 psm1 文件。

对于简单的测试,我有以下 docker 文件:

FROM microsoft/powershell:latest
RUN mkdir -p /tmp/powershell
COPY C:/temp/somedirectory /tmp/powershell

我想将 C:\temp\somedirectory 中包含的文件复制到 docker linux 容器中。构建图像时出现以下错误:

C:\temp\docker_posh> docker build --rm -f Dockerfile -t docker_posh:latest .

Sending build context to Docker daemon 2.048kB

Step 1/3 : FROM microsoft/powershell:latest ---> 9654a0b66645

Step 2/3 : RUN mkdir -p /tmp/powershell ---> Using cache ---> 799972c0dde5

Step 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

如何通过 Dockerfile 复制包含子文件夹和文件的文件夹?

最佳答案

构建 docker 镜像时,您不能复制构建上下文之外的文件。构建上下文是您为 docker build 命令指定的路径。在指示的情况下

C:\temp\docker_posh> docker build --rm -f Dockerfile -t docker_posh:latest .
.指定构建上下文是 C:\temp\docker_posh .因此 C:/temp/somedirectory无法访问。您可以将 Dockerfile 移动到 temp,或运行相同的构建命令
C:\temp 下.但请记住修复 Dockerfile 指令以使路径相对于构建上下文。

关于Dockerfile : Copy directory from Windows host to docker container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49382636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com