Что такое Docker Composer? | DATAENGINER

Что такое Docker Composer?

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

О том как установить CentOS8, Вы можете прочитать тут.

Вас интересует что такое Docker? Вам сюда.

А пример установки Docker, мы привели здесь.

Как работает Docker Compose

  • Используйте yaml файл для настройки ваших служб и приложений (docker-compose.yaml)
  • Вы можете запустить все сервисы одной командой (docker-compose up)
  • Вы можете остановить все сервисы одной командой (docker-compose down)
  • Возможность расширения конкретных сервисов и приложений при необходимости.
  • работает во всех средах: производство, подготовка, разработка, тестирование, а также рабочие процессы CI

Шаг 1  Установка Docker Compose

Запустите команду из вашего терминала Linux, чтобы установить docker-compose:

 pip install -U docker-compose  

Посмотрим на версию Docker Compose установленную на CentOS 8:

 docker-compose -v 

Шаг 2 Создаем Docker Compose файл

Теперь давайте создадим файл, для нашего docker compose, в качестве расположения файла вы можете использовать любую директорию, я же создам в корневом каталоге CentOS8 отдельную директорию, для файла docker compose:

mkdir -p /docker-compose

Теперь перейдем вновь созданный каталог и при помощи редактора vim создадим файл docker-compose.yml:

vim docker-compose.yml

Добавим в yml файл следующее содержимое:

 services:
  web:
    image: nginx        # webserver for our web application
  database:
    image: postgres     # postgresql is used as database  

Если вы хотите запустить больше изображений docker, то вы всегда их можете найти по ссылке: https://hub.docker.com/search?q=&type=image

Шаг 3 Проверка валидности файла Docker Compose

Проверить работоспособность yaml файла для docker compose можно следующей командой:

 docker-compose config 

Так, как docker compose проверяет синтаксис используемый в yaml файле перед нами появится ошибка. Узнать подробнее о совместимости версий вы можете по ссылке: https://docs.docker.com/compose/compose-file/

Обновим наш docker-compose файл, чтобы он принял следующий вид:

 version: "3"
 services:
   web:
     image: nginx        # webserver for our web application
   database:
     image: postgres     # postgresql is used as database

Еще раз проверим работоспособность файла yaml. Если файл сконфигурирован верно Docker Compose отобразит конфигурацию файла.

Шаг 4 Запуск файла docker-compose.yml

Раз наш файл теперь содержит корректную конфигурацию самое время его запустить, для этого выполним команду:

 docker-compose up -d

detached mode (-d, —detach): фоновый режим запускается с ключом -d or ---detach, работая в фоновом режиме вашего терминала он не получает информацию на вход и не отображает вывод.

По окончании загрузки перед нами появится следующая информация об окончании загрузки.

Шаг 5 Проверка работающих контейнеров

Теперь убедитесь, что ваши контейнеры запущены, для этого используйте следующую команду:

docker ps

Если контейнеры успешно запущены, перед Вами появится примерно следующий вывод.

Шаг 6 Изменение конфигурации контейнеров

В нашем yamlфайле мы только что использовали минимальный код для запуска сервиса. Теперь, если мы хотим указать больше данных конфигурации, к примеру изменить в nginx на указанный вручную порт, мы можем сделать это, мы можем это исправить приведя yaml файл dcoker compose к виду:

  version: "3"
  services:
   web:
     image: nginx        # webserver for our web application
     ports:  
       - "6008:80"
   database:
     image: postgres     # postgresql is used as database

Перезапустим docker compose и вновь проверим состояния docker выполнив docker ps:

Проверим переадресацию портов перейдя в браузере по адресу http://ip:6008 если настройка прошла успешно перед нами появится страница приветствия Nginx. В моем случае ip — адрес: 192.168.226.128

Шаг 7 Остановка Docker Compose

Остановить работу docker контейнеров Вы можете выполнив команду:

 docker-compose down

После проверки Вы увидите, что все контейнеры docker остановлены.

Предположим, вам нужно расширить вашу базу данных и вам нужно четыре экземпляра базы данных вместо одного . Вы можете увеличить количество сервисов, следующей командой:

 docker-compose scale database=4 

Проверим количество контейнеров database выполнив: docker ps

вы можете видеть, что у нас запущен один сервер nginx и запущены целых четыре службы баз данных.

Теперь остановите работу контейнеров docker-compose down

О, круто! К настоящему времени мы закончили с основными docker-compose.

Постоянный редактор и автор сайта

Leave a reply:

Your email address will not be published.