Статьи

Docker с Spring Boot и MySQL: Docker Compose (часть 2)

docker-compose помогает управлять несколькими контейнерами

В моей предыдущей статье я писал о Docker, командах CLI, необходимых для запуска базы данных, и приложениях Spring Boot. Мы использовали Dockerfile, чтобы настроить среду и запустить приложение, запустив контейнеры отдельно, а затем создав связь между ними. Но для нескольких контейнерных приложений мы можем использовать инструмент docker-compose . Docker CLI может управлять одним контейнером, но docker-compose может управлять несколькими контейнерами и определять зависимые сервисы. 

Важные условия

Если мы хотим запускать сервисы с помощью инструмента docker-compose, мы должны выполнить следующие шаги, которые также определены в документации Docker .

  1. Нам нужно определить среду приложения с помощью Dockerfile , чтобы ее можно было воспроизвести где угодно.
  2. Нам нужно определить сервисы, которые составляют приложение, в docker-compose.yml, чтобы они могли работать вместе в изолированной среде.
  3. Запустите команды docker-compose для запуска / остановки контейнера или развертывания / отмены развертывания приложения.

Нам нужен файл docker-compose.yml для написания сервисов. В Dockerfile мы определили среду приложения и в файле docker-compose записываем другие свойства сервисов, например, какой сервис будет работать на каком порту, какой сервис будет зависеть от других сервисов, какой порт будет перенаправлен на другой порт для общего доступа, определения сети, кластерных приложений и т. д.  

Вам также может понравиться:  Начало работы с Docker Compose

Монтаж

В моей предыдущей статье я описал шаги по установке Docker. Итак, мы можем проверить, что docker-compose установлен, запустив команду   docker-compose -v. В моем случае это возвращает:  docker-compose version 1.24.1, build 4667896b 

Скачать и запустить код

Теперь мы можем скачать код здесь . Или мы можем клонировать и  оформить ветку Feature / Docker . Здесь мы видим, что Dockerfile похож на код, описанный в моей предыдущей статье .


Dockerfile