Docker Compose
Что это?
Docker сompose инструмент для создания и запуска многоконтейнерных Docker приложений. В Compose, вы используете специальный файл для конфигурирования ваших сервисов приложения. Затем, используется простая команда, для создания и запуска всех сервисов из конфигурационного файла. Для каждого проекта (кластера контейнеров) Docker создаёт свою сеть, где контейнеры могут обращаться друг к другу по именам, которые указываются в docker-compose.yml. Все настройки запуска кластера контейнеров находятся в этом же файле.
Для чего нужно это знать?
Compose превосходен для разработки, тестирования и настройки среды, а также непрерывной интеграции. Docker Compose точно пригодится, если для работы приложения нужно соединить в цепочку несколько сервисов. Например, один сервис отвечает за работу базы данных, другой — за авторизацию пользователей, третий — за серверный рендеринг и так далее. Разбивать приложение на микросервисы можно до бесконечности. А наоборот, собирать из этих блоков единое работающее приложение помогает Docker Compose.
Какие базовые понятия включает этот навык?
Файл docker-compose.yaml используется для конфигурации контейнерной среды. version — версия формата конфигурационного файла, скоро этот элемент должны исключить; services — список контейнеров, которые нужно запустить в изолированной среде, это обязательный элемент; networks — подсети Docker Network, которые объединяют группы контейнеров в локальную сеть, доступную из внешнего мира; volumes — список томов, которыми будут пользоваться контейнеры, указанные в файле конфигурации; configs — параметры, позволяющие запускать контейнеры в разных режимах без необходимости собирать их заново; secrets — чувствительные с точки зрения безопасности параметры, по сути, то же, что и configs, но специального назначения. Запуск Загрузите нужный образ, создайте контейнер для служб и запустите среду в фоновом режиме командой: docker-compose up -d Docker Compose сначала поищет образ в локальной системе. Если его нет, то скачает из Docker Hub. Чтобы проверить активность среды, выполните в терминале: docker-compose ps В выводе отобразится список работающих контейнеров, их состояние, действующая переадресация портов. Чтобы проверить работоспособность приложения, откройте браузер и перейдите по адресу localhost:8000 (your_server_domain_or_IP:8000 для приложений, запущенных на удаленном сервере). На странице должен отобразиться текст из файла index.html. Содержимое файла index.html можно менять и автоматически обновлять внутри контейнера. Это удобно при разработке. Такая возможность появилась благодаря использованию общего тома, который синхронизирует файлы в папке app с корневым каталогом документов контейнера. Основные команды Эти команды нужны для управления контейнерами и взаимодействия с ними. Список не исчерпывающий — рассмотрим только часто используемые сценарии. Посмотреть логи: docker-compose logs Приостановить работу контейнерной среды без изменения текущего состояния контейнеров: docker-compose pause Возобновить работу после паузы: docker-compose unpause Остановить выполнение контейнера без удаления связанных с ним данных: docker-compose stop Удалить контейнеры, сети и тома, которые связаны с контейнерной средой: docker-compose down Удалить образ, из которого собирается среда: docker image rm name:tag
Где я могу освоить этот навык?
Освоить навык «Docker Compose» ты можешь проходя обучение на платформе Upgrade по программе «Frontend-разработчик».