Spotify Dockerfile-Maven Dockerfile
Я новичок в Docker Maven.
Если я хорошо понимаю, в соответствии с документацией Spotify Dockerfile Maven, нужно поместить Dockerfile в корневой каталог моего проекта (я запускаю проект весенней загрузки).
Делая ссылку на лучшие практики докера по написанию Dockerfiles:
Независимо от того, где фактически находится Dockerfile, все рекурсивное содержимое файлов и каталогов в текущем каталоге отправляется демону Docker в качестве контекста сборки. Случайное включение файлов, которые не нужны для построения изображения, приводит к большему контексту сборки и большему размеру изображения.
Означает ли это, что когда плагин Spotify Dockerfile Maven запускает конфигурацию, я выставляю свою исходную папку, которая отправляется демону docker?
1 ответ
Ответ
По умолчанию да, в контекст сборки будет включен ваш исходный (и целевой) каталог. Но вы можете добавить .dockerignore
файл, который говорит ему не делать этого.
Если вы не уверены, что это такое, посмотрите этот учебник.
мнение
ИМО: Я могу представить сценарии, в которых запуск докера из maven будет правильным решением. Однако мое воображение очень хорошее, и не может быть так много магазинов, которые используют докер, но не меняют свои традиционные конвейеры сборки Maven.
Однако в большинстве случаев вы не хотите этого делать.
Вместо этого вы должны использовать один докер-контейнер для создания Java-артефакта и запуска модульных тестов. Это может затем подтолкнуть артефакт к нексусу (или к любому репо, который вы используете). Если это веб-приложение или другой http-сервис, вы можете использовать второй контейнер для его размещения и развертывания в среде для тестирования интеграции.