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

dockerfile成功build立时,我想获得一些文件,但它不会将文件从容器复制到主机。

这意味着当我build立了dockerfile时,这些文件已经是主机了。

Solutions Collecting From Web of "如何将文件从dockerfile复制到主机?"

当你建立,你有机会复制文件从主机到你正在建设的形象(与COPY指令或ADD

您也可以将容器 (docker run'd)中的文件复制到docker cp的主机上(通常,cp也可以从主机复制到容器中)

但是你不能复制“从Dockerfile”:Dockerfile只是一个指定如何建立一个图像的配方。

如果你想回到你的主机的一些文件,可能已经在生成过程中生成(例如调用一个脚本 , 生成ssl ),你可以运行一个容器,从主机上挂载一个文件夹并执行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 

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

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