Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 如何将文件从dockerfile复制到主机?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想在dockerfile成功构建时获取一些文件,但它不会将文件从容器复制到主机. 这意味着当我构建dockerfile时,文件已经是主机. 构建时,您有机会将文件从主机复制到您正在构建的映像(使用 COPY directive或 ADD) 您还可以使用docker cp将文件从容器(已运行docker的映像)复制到主机(通常,cp也可以从主机复制到容器) 但是你无法复制“来自Dockerfile
我想在dockerfile成功构建时获取一些文件,但它不会将文件从容器复制到主机.

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

解决方法

构建时,您有机会将文件从主机复制到您正在构建的映像(使用 COPY directiveADD)

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

但是你无法复制“来自Dockerfile”:Dockerfile只是一个指定如何构建图像的配方.

如果要将一些可能在构建期间生成文件(例如calling a script generates ssl)返回给主机,则可以运行容器,从主机安装文件并执行cp命令.

例如参见getcrt script.

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

COMMANDS之间的所有内容都是在容器上执行的命令,包括在主机${HOME} / b2d / apache文件夹中复制的cp,在容器中作为/ apache安装在-v ${HOME} / b2d / apache:/ apache .

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

大佬总结

以上是大佬教程为你收集整理的linux – 如何将文件从dockerfile复制到主机?全部内容,希望文章能够帮你解决linux – 如何将文件从dockerfile复制到主机?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。