我的问题是有关这个问题的文件从容器复制到主机;我有一个Dockerfile,从源代码获取依赖项,编译构建工件,并运行可执行文件。我还想复制构建工件(在我的情况下,它是一个.zip
在` ../target/ ',但我认为这个问题也适用于jar,二进制文件等。
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
的脚本。想法吗?