我想在dockerfile成功构建时获取一些文件,但它不将文件从容器复制到主机。
这意味着当我构建dockerfile时,文件已经是主机了。
不支持将文件“从DockerFile”复制到主机。Dockerfile只是一个指定如何构建映像的菜谱。
生成时,您有机会将文件从主机复制到正在生成的映像(使用copy
指令或add
)
您还可以使用docker cp将文件从容器(已docker run
d的映像)复制到主机(通常,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