Docker Compose - это инструмент для управления многоконтейнерными приложениями с помощью одного конфигурационного файла (docker-compose.yml).
Пример docker-compose.yml
Этот docker-compose.yml
файл запускает три контейнера:
-
casic:
- Первый сервис
- Порт 7777 на хосте проксируется в контейнер для доступа к сервису.
- Настройка
restart: unless-stopped
автоматически перезапускает контейнер, если он остановился по любой причине, кроме ручной остановки.
-
password-manager:
- Второй сервис
- Порт 5050 на хосте проксируется в контейнер для доступа к этому сервису.
-
password-manager-db:
- Это контейнер с MySQL, работающий на образе
mysql:latest
. - Порт 3306 (стандартный порт MySQL) пробрасывается на хост для прямого доступа к базе данных.
- Настройки через переменные окружения:
MYSQL_ROOT_PASSWORD
устанавливает пароль для root пользователя MySQL.MYSQL_DATABASE
создаёт базу данных с именемpassword_manager
.
- Это контейнер с MySQL, работающий на образе
1. Запуск всех контейнеров
Эта команда запускает все контейнеры, описанные в docker-compose.yml, в фоновом режиме.
2. Перезапуск контейнеров
Перезапускает все сервисы, указанные в docker-compose.yml.
3. Запуск отдельного сервиса
Запускает конкретный сервис, указанный в docker-compose.yml.
4. Перезапуск отдельного сервиса
Перезапускает конкретный сервис, указанный в docker-compose.yml.
5. Остановка контейнеров
Останавливает все контейнеры, запущенные через docker-compose.
6. Сборка образов
Создает образы для сервисов, указанных в docker-compose.yml.
7. Применение изменений в конфигурации
Если вы изменили docker-compose.yml, используйте эту команду, чтобы применить изменения.