Как разработчики обычно используют Docker с проектом Java Maven и AWS EC2? - PullRequest
1 голос
/ 07 января 2020

У меня есть одно Java приложение. Мы разработали приложение в Eclipse. Это проект Maven. У нас уже есть система для запуска нашего приложения до AWS EC2. Это работает, но элементарно, и мы хотели бы узнать о более распространенных и современных подходах, используемых другими командами для запуска своих приложений Java Maven для EC2. Мы слышали о Docker, и я вчера исследовал инструмент. Я понимаю основы построения изображения, его маркировки и отправки в Docker Hub или сервис ECS Amazon. Я также прочитал несколько учебных пособий, описывающих, как вставить изображение Docker в экземпляр EC2. Однако я не знаю, пытаемся ли мы это сделать, учитывая, что я немного запутался в той роли, которую Docker может сыграть в нашей ситуации, чтобы помочь сделать наши разработки более надежными и эффективными.

В настоящее время мы создаем наше приложение Maven в Eclipse. Когда сборка завершается, мы запускаем второй Java файл, который использует AWS JDK для Java до

  • , запускаем экземпляр EC2
  • и копируем артефакт .jar из сборка в этом экземпляре
  • добавляет экземпляр в балансировщик нагрузки и
  • тестирует приложение

Мое понимание того, как мы можем использовать Docker, заключается в следующем , Мы бы докеризировали наше приложение и поместили его sh в онлайн-хранилище в соответствии с шагами, приведенными в этого видео. Затем мы создали бы экземпляр EC2 и перетащили изображение Docker в этот новый экземпляр в соответствии с шаги в этого учебника. Если это типичный поток, то какова цель использования Docker здесь? Что является дополнительным преимуществом, когда мы в настоящее время ...

  • создаем экземпляр,
  • разворачиваем приложение непосредственно к экземпляру, а также
  • тестируем работающий приложение

, использующее простой файл Java и функции из AWS SDK для Java?

Ответы [ 2 ]

3 голосов
/ 07 января 2020

@ GNG, каковы ваши цели для контейнеризации?

Amazon ECS - лучший способ, если вы хотите работать только в AWS среде. Docker действует в гибридных средах, т. Е. На физических серверах и виртуальных машинах.

0 голосов
/ 07 января 2020

образ Docker является переносимым и полным исполняемым файлом вашего приложения: он доставляет ваш jar-файл, но может также включать файлы свойств, ресурсы c и т. Д. c ... Вы упаковываете все необходимое и развертываете на AWS, но вы также можете решить развернуть этот образ на других платформах (или локально).

Другое преимущество заключается в том, что образ содержит всю среду выполнения (OS, jdk), поэтому вы не полагаетесь на то, что AWS обеспечивает также изоляцию от базовой инфраструктуры.

...