在Mac上添加Docker Toolbox的命令

我在我的Mac上安装了Docker Toolbox,但是在构build过程中遇到了将文件添加到容器的问题。 我在Dockerfile中使用ADD命令。 我似乎无法添加任何本地文件。 我明白,Docker Toolbox在底层使用了VirtualBox,但我不确定如何将这些文件放入虚拟机来构build容器。 有没有办法,我可以做到这一点,让我保持一个干净的操作系统不可知的Dockerfile没有任何绝对path?

这是我的Dockerfile。 它是从Node.js容器中构build的,具有一些额外的依赖关系。

FROM node:4.2.2 RUN apt-get update RUN apt-get install -y libvips-dev libgsf-1-dev libkrb5-dev RUN apt-get clean ADD app/ /app RUN cd /app && npm install --production RUN npm install forever -g 

原来这不工作,但只为我的当前目录。 我的Dockerfile和我想添加的文件不在同一个目录下。 将shell移动到我想要的文件,然后手动指定Dockerfile工作。

 docker build -f my/other/Dockerfile . 

由于docker将在Mac上使用VirtualBox虚拟机(使用boot2docker或docker-machine),它将使用VirtualBox Guest Additions ,这是为了使用VirtualBox文件夹共享的明确目的。

确保处于这种共享path中,通常在/Users/...

如果app//Users/path/to/app ,那么ADD应该可以工作。

您可以使用boot2docker挂载其他path ,但是docker 机器可能会出现问题 (请参阅问题13 )。

当然,对于ADD app ...工作,你需要在app/的父文件夹。
从dockerADD

<src>path必须位于构build的上下文中; 你不能ADD ../something /something