Ссылки на файлы внутри сборки (Docker)

Я использую boot2docker и хочу создать простой образ докера с помощью Dockerfile:

# 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 присутствует и доступен на компьютере, где я создаю файл Docker. Проблема в том, что внутри сборки я получаю Failed: FileNotFoundException[/c/Users/buliov1/dev/elastic/plugins/marvel-latest.zip (No such file or directory)],

Я искал документацию, и единственное решение, которое я вижу, это использовать ADD/COPY и сначала скопировать файл внутри изображения, а затем запустить команду, которая использует файл. Я не знаю, как именно работает сборка docker, но есть ли способ собрать ее без предварительного копирования файла?

1 ответ

Решение

docker build процесс выполняется внутри контейнеров Docker и не имеет доступа к файловой системе хоста. Единственный способ загрузить файлы в среду сборки - использовать ADD или же COPY механизм (или путем извлечения их по сети, используя, например, curl или же wget или что-то).

Другие вопросы по тегам