引用build(Docker)中的文件

时间:2015-03-18 14:17:50

标签: docker elasticsearch-marvel

我使用boot2docker并希望使用Dockerfile构建一个简单的docker镜像:

# Pull base image.
FROM elasticsearch

# Install Marvel plugin

RUN \
    && export ES_HOME=/usr/share/elasticsearch  \
    && cd $ES_HOME  \
    && bin/plugin  -u  file:///c/Users/buliov1/dev/elastic/plugins/marvel-latest.zip -i elasticsearch/marvel/latest

路径 /c/Users/buliov1/dev/elastic/plugins/marvel-latest.zip 存在并可在我构建dockerfile的机器上访问。 问题是我得到的构建内部 Failed: FileNotFoundException[/c/Users/buliov1/dev/elastic/plugins/marvel-latest.zip (No such file or directory)]

我搜索了文档,我看到的唯一解决方案是使用ADD / COPY并首先复制图像中的文件,然后运行使用该文件的命令。 我不知道docker build是如何工作的,但有没有办法构建它而不先复制文件?

1 个答案:

答案 0 :(得分:2)

docker build进程在 Docker容器中运行,无法访问主机文件系统。将文件导入构建环境的唯一方法是使用ADDCOPY机制(或通过使用例如curl或{{1}在网络上获取它们。或者什么)。