我使用 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 究竟是如何工作的,但是,有没有办法在不先复制文件的情况下构建它?