SC24EP19 Контейнеризация приложений с Docker и Docker Compose - Разработка проектов со Spring

preview_player
Показать описание
В девятнадцатом ролике цикла речь пойдёт о развёртывании сервисов в контейнерах Docker, я расскажу о том, как можно написать универсальный Dockerfile, продемонстрирую запуск сервисов в контейнерах. А затем я перейду к Docker Compose, при помощи которого можно управлять развёртыванием не одного контейнера, а набором контейнеров, необходимых для работы проекта. Кроме этого вкратце будут затронуты темы использование механизма поиска сервисов и масштабирования в Docker Compose.

00:00 Вступление
00:18 Что внутри толстого JAR
05:58 Универсальный Dockerfile
11:58 Сборка образа и запуск контейнера
21:03 Развёртывание набора сервисов с Docker Compose

В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.

#java #spring #docker #dockercompose #howto

Мои ресурсы:

Поддержать проект:
Комментарии
Автор

Очень классная вещь про слои в спринговом джарнике - спасибо, точно надо использовать

hurricane-rus
Автор

Очень интересный ролик хотелось бы отдельный про разные способы сборки. Интересно три момента.
Например вы ведь уже распотрошили свой джарник, можно было бы одновременно и просканировать модули и обрезать jvm чтобы уменьшить размер.
Дальше можно было бы попробовать плагин спринг бута, он очень хорошо оптимизирует и в добавок добавляет команды на запуск jvm в окружении докера.
Ну и последнее можно было бы во время сборки докера просто скомпилировать graalVM и упаковать всё это в пустой контейнер, контейнер очень маленький с моментальным зппуском получается. Для быстрой балансировки нагрузки лучше всего подходит.

kacetal
Автор

Крутой ролик и просто невероятная серия, было б такое, когда начинал 😢
Спасибо за труд!
С нетерпением жду каждого видео!

ihorbalabai
Автор

Мотивации тебе, добрый человек!Награда несомненно будет!

johnconnor
Автор

Люто плюсую! Думал пройти путь следом просто повторяя действия и слушая объяснения, но после 5 ролика понял, что уже забыл с чего и как начиналось((( За Вами надо конспектировать по старинке, в тетрадке, как будто сидишь на лекции!!! Поэтому отложил это дело до отпуска... Надеюсь, что ролики никуда не денутся, а будут только выходить новые! Очень хочется все еще раз 10 пересмотреть/переслушать и вникнуть, а то темы типа Докера, Кубернетиса и им подобным для меня подобны магии: вот написано 10-15 строчек, запускаем... и всё работает! А как? А что можно еще изменить? А почему здесь именно так написано, а не иначе? В общем, набираюсь терпения (до отпуска) и слежу за выходом новых серий данного сериала!!!

АлексейИванов-мдй
Автор

Привет. Классные ролики. То что они набирают меньше - так и бывает с самыми классными роликами-сериями. Не останавливайся, пожалуйста. Не все тянут, но потом нагонят. Надеюсь что у вас в Кургане все ок - с этими наводнениями

КаналКотикаиМаркушки
Автор

Привет! Хорошая тема. Жаль, что такой труд миллионом просмотров не вознаградится.

АлександрТяпкин-пц
Автор

про сомнение на 8:27 - почему лучше делать в два этапа: совершенно очевидно (логично - по тексту ролика), что в конечном образе нам ничего лишнего не нужно и, если делать в один этап, то будет два лишних слоя (один с jar файлом, а другой с распакованным содержимым этого файла), таким образом будет лишний "мусор" в конечном образе, и соответственно, образ будет больше по размеру на сумму данных этих двух слоев (если добавить операцию удаления jar и extracted в докерфайле, то размер конечного образа не изменится)

Eduard.Kardashov
Автор

Привет! Спасибо за ролик!
Ты в уроке про Docker, говорил что сборка через spring-boot-plugin и buildpacks самый правильный, современный, модный, молодежный способ. Почему здесь выбор был в пользу Dockerfile?

СергейЗачесов-чг
Автор

Добрый день! Пытаюсь разобраться как использовать spring-boot-docker-compose в микросервисах на maven multy module проектах. Не могу понять где нужно создавать compose.yaml и Dockerfile только в проекте верхего уровня или в каждом микро-сервисе тоже. Если в каждом отдельном микросервисе тоже то как их связать? Каким должна быть настройка pom.xml вверхнего и нижних уровней. Нужно ли везде добавлять spring-boot-docker-compose? Нужно ли тогда добавить спринг плагин на верхний уровень? В документации пытался найти но там информации практически 0.

rainrainov
Автор

Как у вас по итогу кейклоак мапится на 8080, но приложения обращаются на 8082?

jija
Автор

@shurik_codes а в чем преимущество такого подхода -- распаковать Jar и переносить папками? Типа быстрее запускается на сервере?
Почему нельзя просто Fat Jar скопировать и запускать java -jar application.jar ?

По поводу терминов (произношения)
лойер -- это "юрист" lawyer
лэйер -- это "слой" layer
немного ухо режет лойер

P.S. спасибо за серию роликов

ocxnpfi