0

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

4

1 回答 1

2

一个docker build进程Docker 容器中运行,并且无法访问主机文件系统。将文件放入构建环境的唯一方法是通过使用ADDorCOPY机制(或通过使用例如curlorwget或其他东西通过网络获取它们)。

于 2015-03-18T14:29:59.620 回答