Использование томов docker в сборке упаковщика - PullRequest
0 голосов
/ 03 мая 2020

Можно ли использовать существующие docker или внешние тома в / во время сборки упаковщика?

Я видел в https://www.packer.io/docs/builders/docker/:

"VOLUME /test1 /test2"

Что именно это означает? "VOLUME String EX:" VOLUME FROM TO "" мало что объясняет. /test1 с хоста?

Я также видел в https://www.packer.io/docs/builders/docker/#volumes:

volumes (строка map [string]) - Отображение дополнительные тома для установки в этот контейнер. Ключ объекта - путь к хосту, значение - путь к контейнеру.

Как я могу использовать это? Где / как я могу поместить / объявить это, предположим, что я хочу отобразить /etc/dnsmasq.d/ путь к хосту в контейнер, а также во время сборки и выполнения?

1 Ответ

0 голосов
/ 03 мая 2020

Он имеет то же значение, что и соответствующая директива Dockerfile (действительно, все директивы в этом разделе документации Packer являются командами Dockerfile). Возможно, вам это не нужно или не нужно.

Это отличается от опции docker run -v для монтирования содержимого в контейнер. Вы не можете указать такие параметры монтирования во время сборки контейнера (будь то использование docker build или Packer). Вам не нужно указывать VOLUME, чтобы иметь возможность монтировать содержимое в каком-либо каталоге контейнера.

Директива Dockerfile VOLUME не нужна для наиболее распространенного использования и в основном имеет только запутанные побочные эффекты. Вам не нужно монтировать конфигурацию в ваше приложение; вам не нужно перезаписывать исходный код приложения деревом разработки; самое очевидное, что он делает - это предотвращает эффект будущих RUN инструкций. Я бы избегал этого, если вы не поймете подробно, что он делает и почему вы этого хотите.

...