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

如何将文件从dockerfile复制到主机?

柯子琪
2023-03-14

我想在dockerfile成功构建时获取一些文件,但它不将文件从容器复制到主机。

这意味着当我构建dockerfile时,文件已经是主机了。

共有1个答案

余弘毅
2023-03-14

不支持将文件“从DockerFile”复制到主机。Dockerfile只是一个指定如何构建映像的菜谱。

生成时,您有机会将文件从主机复制到正在生成的映像(使用copy指令或add)

您还可以使用docker cp将文件从容器(已docker rund的映像)复制到主机(通常,cp也可以从主机复制到容器)

例如,请参见此getcrt脚本。

docker run -u root --entrypoint=/bin/sh --rm -i -v ${HOME}/b2d/apache:/apache apache << COMMANDS
pwd
cp crt /apache
cp key /apache
echo Changing owner from \$(id -u):\$(id -g) to $(id -u):$(id -u)
chown -R $(id -u):$(id -u) /apache/crt
chown -R $(id -u):$(id -u) /apache/key
COMMANDS

命令之间的所有命令都是在容器上执行的命令,包括在主机${HOME}/b2d/apache文件夹上复制的cp命令,该文件夹以/apache的形式挂载在容器中,并使用-v${HOME}/b2d/apache:/code>。

这意味着每次在容器中复制/apache上的任何内容时,实际上都是在主机上复制${HOME}/b2d/apache

 类似资料:
  • 我想在dockerfile成功构建时获取一些文件,但它不将文件从容器复制到主机。 这意味着当我构建dockerfile时,文件已经是主机了。

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

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

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

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