在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