DAS_2024_1/lazarev_andrey_lab_4/RabbitMQ_app/docker-compose.yml

45 lines
3.3 KiB
YAML
Raw Normal View History

2024-11-04 02:01:55 +04:00
services:
rabbitmq: # Сервис для RabbitMQ (брокера сообщений)
image: rabbitmq:3-management # Используемый образ RabbitMQ с веб-интерфейсом управления
ports:
- "5672:5672" # Порт для подключения клиентов к RabbitMQ
- "15672:15672" # Порт для доступа к веб-интерфейсу управления
environment: # Переменные окружения для настройки RabbitMQ
- RABBITMQ_DEFAULT_USER=guest # Имя пользователя по умолчанию
- RABBITMQ_DEFAULT_PASS=guest # Пароль пользователя по умолчанию
healthcheck:
test: ["CMD", "rabbitmqctl", "status"] # Проверка работоспособности RabbitMQ
interval: 10s # Интервал между проверками (10 секунд)
timeout: 5s # Тайм-аут для проверки (5 секунд)
retries: 5 # Количество попыток при неудачных проверках
publisher: # Сервис для запуска издателя (publisher)
build:
context: . # Использует текущую директорию для сборки Docker-образа
command: python publisher.py # Команда для запуска издателя
environment:
- PYTHONUNBUFFERED=1 # Отключение буферизации вывода Python
depends_on:
rabbitmq:
condition: service_healthy # Ожидает готовности RabbitMQ перед запуском
consumer_1: # Сервис для запуска первого потребителя (consumer_1)
build:
context: . # Использует текущую директорию для сборки Docker-образа
command: python consumer_1.py # Команда для запуска первого потребителя
environment:
- PYTHONUNBUFFERED=1 # Отключение буферизации вывода Python
depends_on:
rabbitmq:
condition: service_healthy # Ожидает готовности RabbitMQ перед запуском
consumer_2: # Сервис для запуска второго потребителя (consumer_2)
build:
context: . # Использует текущую директорию для сборки Docker-образа
command: python consumer_2.py # Команда для запуска второго потребителя
environment:
- PYTHONUNBUFFERED=1 # Отключение буферизации вывода Python
depends_on:
rabbitmq:
condition: service_healthy # Ожидает готовности RabbitMQ перед запуском