45 lines
3.3 KiB
YAML
45 lines
3.3 KiB
YAML
|
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 перед запуском
|