Почему Docker требует PATH при сборке из пользовательского Dockerfile в другом каталоге? - PullRequest
0 голосов
/ 02 ноября 2018

При создании образов Docker с Dockerfile в одном и том же каталоге каждый раз работает следующее

$ docker build -t project/app:latest .
Sending build context to Docker daemon  135.9MB
...

Однако при использовании -f для указания другого используемого файла Docker Docker жалуется ...

$ docker build -t project/app:latest -f ../some/path/Dockerfile.other 
"docker build" requires exactly 1 argument.
See 'docker build --help'.

Usage:  docker build [OPTIONS] PATH | URL | -

Build an image from a Dockerfile

Я могу легко предоставить PATH, и сборка будет работать, но почему по-прежнему требуется PATH, если я указываю абсолютный путь к Dockerfile с помощью -f?

1 Ответ

0 голосов
/ 02 ноября 2018

PATH предназначен для указания контекста сборки (дерева, из которого COPY инструкции копируют объекты), который не должен иметь никакого отношения к расположению файла Docker.

Цитирование документов:

Команда docker build создает образы Docker из Dockerfile и «контекста». Контекст сборки - это набор файлов, расположенных в указанных PATH или URL. Процесс сборки может ссылаться на любой из файлов в контексте. Например, ваша сборка может использовать инструкцию COPY для ссылки на файл в контексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...