вопрос по Docker + Java Web App + GitHub

129
09 февраля 2021, 15:10

Начал вникать в Docker и тут возник вопрос, возможно ли в Docker сделать так, чтобы он скачал проект с GitHub далее собрал его в War и положил в tomcat, далее tomcat стартует в контейнере и можно запустить адрес и вуаля, приложение работает? Или каким-то другим способом. Или Spring Boot приложение.

Есть примеры в сети, но так в файле Dockerfile явно путь прописывается, где лежит Jar файл или собранный Spring Boot приложение. Но это значит надо постоянно лазить на сервак и подкладывать новые файлы.

А если докер-образ надо передать и чтобы так уже при развертывание была и база например Postgres с наполненными данными и необходимые warники от web-сервисов нужных версий последних и тд.

Никак понять не могу((

Answer 1

В принципе можно. Например в Dockerfile описать базовую ОС, затем установить git, wget и сопутствующее ПО. Всё тоже самое, что по сути Вы делаете на своем ПК, Вы можете описать в Dockerfile или описать в скрипте, который можно скопировать в образ контейнера и запустить при загрузке. Который, например, wget'ом заберет сорсы, затем соберет их, скопирует в нужную папку и т.д. и т.п. поэтапно. Но это, так скажем, не целевое использование. По хорошему, в образе Вы описываете окружение. Необходимые пакеты для какого-либо действия. Своего рода эталонное окружение, которое статичное и меняется раз в год, а остальное подключаете в виде ресурсов, папок, файлов. Хранить все в одном контейнере плохая практика и контейнеризация не про это. Чтобы постоянно не лазить на сервак и подкладывать файлы, Вы можете примонтировать папку с Вашего компьютера внутрь контейнера. Так же Вы можете хранить конфигурационные файлы на своем компьютере вне контейнера, и лишь их монтировать. И изменяя конфигурационные файлы прописывать адреса и порты БД.

READ ALSO
соответствие ООП концепции java

соответствие ООП концепции java

На примере нахождения факториала хочется узнать насколько я правильно понимаю ООППредставим факториал как самостоятельную сущность:

110
Как программно установить background из @mipmap/nameless (Java)

Как программно установить background из @mipmap/nameless (Java)

Я использовал это для однообразного фона

111
Как сделать , чтобы тест на javascript работал?

Как сделать , чтобы тест на javascript работал?

Нужно, чтобы при нажатии на кнопку Answer проверялся тест, и поле вопроса окрашивалось в зелёный цвет (если правильно) в красный (если не правильно)!

113