Весеннее развертывание микросервиса в докерах

Мне нужно разработать микросервис с загрузочной пружиной и развернуть его в докерах. Сейчас я разработал один образец микросервиса. Когда я изучал развертывание Docker и контейнеров, я нашел много документов для установки docker и создания образов и запуска приложения в виде контейнерной упаковки. Здесь у меня есть некоторые сомнения в процедуре развертывания. Я добавляю свои заблуждения ниже,

  • Если мне нужно развернуть 4 загрузочных микросервиса в докере, мне нужно создать отдельный образ для всех? Или я могу использовать один и тот же файл докера во всех моих микросервисах с весенней загрузкой?

  • Я использую базу данных postgreSQL. Так можно ли включить это соединение в файл образа докера? Или мне нужно управлять отдельно?

Я новичок в сфере контейнеров, AWS и Spring World, только начал исследования. Так что столкнулся с большим количеством путаницы. Может кто-нибудь помочь прояснить мои заблуждения, пожалуйста?

1 ответ

Решение
  • Если у вас есть четыре разных приложения Spring Boot, я предлагаю создать четыре разных файла Docker и создать четыре разных образа из этих файлов. В основном поместите один Dockerfile в каждую папку приложения Spring.
  • Вы можете встроить учетные данные PostgreSQL (имя хоста, имя пользователя и пароль) в приложение, написав его в коде. Это проще всего.

Если вы используете AWS и ECS (Elastic Container Service) или EC2 для запуска ваших Docker-контейнеров, вы можете сохранить учетные данные в хранилище параметров EC2, и ваше приложение получит их при запуске, однако для этого потребуется больше знаний AWS, и вам придется используйте AWS SDK для получения учетных данных из приложения. Вот вопрос Stackru именно об этом: Доступ к значениям хранилища параметров AWS с помощью пользовательского ключа KMS Задать вопрос

  1. Для всех ваших микросервисов может быть одно изображение, но это плохой дизайн и не рекомендуется. Всегда старайтесь отделить вещи одно от другого. В вашем случае создайте отдельные образы (отдельный файл Dockerfile) для каждого микросервиса.
  2. Опять же, то же самое для вашего второго вопроса, создайте отдельный образ (один файл Docker) для своей базы данных. А что касается полномочий, вы можете последовать совету Джонатана.
Другие вопросы по тегам