当前位置: 首页 > 知识库问答 >
问题:

DockerFile:将目录从Windows主机复制到docker容器

益明朗
2023-03-14

我想建立一个Docker图像,包括我的自定义Powershell模块。因此,我使用Microsoftsmicrosoft/powershell:lates图像,我想从这里创建我自己的图像,其中包括我的psm1文件。

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。

将构建上下文发送到Docker守护进程2.048 KB

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复制包含子文件夹和文件的文件夹?

共有1个答案

麻超
2023-03-14

生成docker映像时,不能复制生成上下文之外的文件。构建上下文是为docker构建命令指定的路径。如属指示─

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指令,使路径相对于构建上下文。

 类似资料:
  • 我正在使用docker容器来编译一段代码,我不一定要将其docker化。我已使用必要的构建工具设置了一个映像,但我希望以某种方式将编译后的文件从容器中取出,而无需使用docker cp container:/file host/file命令。换句话说,我希望自动化这个过程,以便在构建完成后,将生成的文件复制到主机。 Dockerfile

  • 我正在编写来构建应用程序。我知道您可以使用 (请参见将文件从Docker容器复制到主机),但我只想运行 在Dockerfile中是否有一个命令可以用于从容器中复制到主机中?像的反义词吗?

  • 当我用- 我可以通过使用- 我可以看到它位于那里和文件是预期的在终端。

  • 我正在编写一个Dockerfile来构建一个应用程序。我知道你可以用 (请参阅将文件从Docker容器复制到主机),但我想只运行 并让它将我的创建的构建工件转储到我的主机文件系统的某个地方。 Dockerfile中是否有可以用于从容器复制到主机的命令?与复制相反?

  • 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理本身上安装所有的运行时和库。 为了实现这一点,我需要将在容器中构建的构建构件复制回主机中。有可能吗?

  • 我正在编写一个Docker文件,我的要求是将容器内文件夹的内容复制到本地主机。我怎么能做到这一点呢?