【发布时间】:2014-10-07 04:03:38
【问题描述】:
我的问题与this question 将文件从容器复制到主机有关;我有一个 Dockerfile,它获取依赖项、从源代码编译构建工件并运行可执行文件。我还想复制构建工件(在我的情况下,它是由sbt dist 在'../target/` 中生成的.zip,但我认为这个问题也适用于罐子、二进制文件等。
docker cp 适用于容器,而不是图像;我是否需要启动一个容器才能从中获取文件?在脚本中,我尝试在后台以交互模式运行/bin/bash,将文件复制出来,然后终止容器,但这似乎很麻烦。有没有更好的办法?
另一方面,我想避免在运行docker save $IMAGENAME 后解压.tar 文件,只是为了取出一个文件(但这似乎是目前最简单,但最慢的选项)。
我会使用 docker 卷,例如:
docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out
但我在 OSX 中运行 boot2docker,我不知道如何直接写入我的 mac 主机文件系统(读写卷安装在我的 boot2docker 虚拟机中,这意味着我无法轻松共享脚本从与其他人的图像中提取blah.zip。想法?
【问题讨论】:
标签: docker boot2docker