SC24EP19 Контейнеризация приложений с Docker и Docker Compose - Разработка проектов со Spring
Вставка
- Опубліковано 20 тра 2024
- В девятнадцатом ролике цикла речь пойдёт о развёртывании сервисов в контейнерах 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.
Репозиторий проекта: github.com/alex-kosarev/sc24/...
#java #spring #docker #dockercompose #howto
Мои ресурсы:
- Сайт: alexkosarev.name
- Канал на UA-cam: / @shurik_codes
- Канал в Telegram: t.me/+TZCuO38vG3oqu_Jq
- Группа для обсуждений в Telegram: t.me/+UFAkw187WstX0wqy
- Паблик в VK: shurik.codes
- Канал в Дзене: dzen.ru/shurik_codes
- Канал на Rutube: rutube.ru/channel/24432001/
- Страница в Boosty: boosty.to/akosarev
Поддержать проект:
- Доны в VK: donut/shurik.codes
- Донаты в Boosty: boosty.to/akosarev/donate
- Через Tinkoff: www.tinkoff.ru/cf/4PEOiVCZQuS
Мотивации тебе,добрый человек!Награда несомненно будет!
Крутой ролик и просто невероятная серия, было б такое, когда начинал 😢
Спасибо за труд!
С нетерпением жду каждого видео!
Люто плюсую! Думал пройти путь следом просто повторяя действия и слушая объяснения, но после 5 ролика понял, что уже забыл с чего и как начиналось((( За Вами надо конспектировать по старинке, в тетрадке, как будто сидишь на лекции!!! Поэтому отложил это дело до отпуска... Надеюсь, что ролики никуда не денутся, а будут только выходить новые! Очень хочется все еще раз 10 пересмотреть/переслушать и вникнуть, а то темы типа Докера, Кубернетиса и им подобным для меня подобны магии: вот написано 10-15 строчек, запускаем... и всё работает! А как? А что можно еще изменить? А почему здесь именно так написано, а не иначе? В общем, набираюсь терпения (до отпуска) и слежу за выходом новых серий данного сериала!!!
Привет! Хорошая тема. Жаль, что такой труд миллионом просмотров не вознаградится.
про сомнение на 8:27 - почему лучше делать в два этапа: совершенно очевидно (логично - по тексту ролика), что в конечном образе нам ничего лишнего не нужно и, если делать в один этап, то будет два лишних слоя (один с jar файлом, а другой с распакованным содержимым этого файла), таким образом будет лишний "мусор" в конечном образе, и соответственно, образ будет больше по размеру на сумму данных этих двух слоев (если добавить операцию удаления jar и extracted в докерфайле, то размер конечного образа не изменится)
Привет. Классные ролики. То что они набирают меньше - так и бывает с самыми классными роликами-сериями. Не останавливайся, пожалуйста. Не все тянут, но потом нагонят. Надеюсь что у вас в Кургане все ок - с этими наводнениями
Держимся ✊
Круто, очень круто.)
Как у вас по итогу кейклоак мапится на 8080, но приложения обращаются на 8082?
@shurik_codes а в чем преимущество такого подхода -- распаковать Jar и переносить папками? Типа быстрее запускается на сервере?
Почему нельзя просто Fat Jar скопировать и запускать java -jar application.jar ?
По поводу терминов (произношения)
лойер -- это "юрист" lawyer
лэйер -- это "слой" layer
немного ухо режет лойер
P.S. спасибо за серию роликов
Прежде всего из-за кеширования слоёв при сборке образа. Если мы будем использовать толстый JAR, то слой будет один и его размер будет соответствовать размеру JAR, и кеширование не будет работать. А при разбиении по слоям у нас есть слой с зависимостями, который меняется относительно редко, и который можно переиспользовать при сборке образа, а есть слой с нашим собственным кодом, который меняется чаще.
@@shurik_codes по моему выгода какая-то эфемерная, только что для примера с билдами на девелоперской машине
обычно сборка происходит в пайплайнах внутри других докер контейнеров (ранеров), которые уничтожаются
зато возни с показанным подходом значитиельно больше и есть возможность что-то сломать
мне кажется надёжней толстый Jar и не трогать его
Здравствуйте, несколько раз пересмотрел ролик, хотелось бы получить от Вас помощи.
Хотел создать контейнер с по Вашим первым 4 роликам (Strvice + Client + Postgresql + Keycloak), однако контейнеры создаются, но между собой не дружат..
Не могли бы вы сделать короткое видео на эту тему? Готов задонатить, чтоб Вам было интереснее...
делай компоуз файл указывая одну внутреннюю сеть.
Выпуск супер🎉 ❤
Вопрос не по теме , а что лучше использовать для загрузки и сохранения фотографий для товаров на сайте ?
В каком плане?
@@shurik_codes фотографии товаров мы с бэкенда отправляем на фронтенд и как лучше всего это сделать ? Через s3 и т.д