Как запускать RabbitMQ в Docker на Windows
Kafka или RabbitMQ
Для начала установки необходимо скачать с сайта и установить Docker на Windows 10. Сложностей с этим возникнуть не должно, после установки необходимо установить или обновить ядро Linux по инструкции.
После того, как Docker установлен, запустим его.
Запуск RabbitMQ
Запустим консоль Windows и введем команду:
docker pull rabbitmq:3.10-management
Данная команда загрузит образ RabbitMQ c DockerHub.
После того, как образ загружен локально можно запустить контейнер на основе загруженного образа командой:
docker run --rm -it -p 15672:15672 -p 5672:5672 rabbitmq:3.10-management
После запуска контейнера, можно проверить работу перейдя по адресу: http://localhost:15672, командой мы указали, что для клиентских подключений используем порт 5672, а страница управления разместится на порту 15672.
Для входа в панель управления можно использовать логин и пароль по умолчанию: guest
Запуск RabbitMQ с помощью Docker-compose
Чтобы развернуть RabbitMQ с помощью Docker Compose, нам сначала нужно создать файл Docker Compose. Файл Docker Compose – это файл YAML, который определяет службы, сети и тома, составляющие наше приложение.
Вот пример файла Docker Compose, который развертывает экземпляр RabbitMQ:
version: '3'
services:
rabbitmq:
image: rabbitmq:management
container_name: rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=guest
- RABBITMQ_DEFAULT_PASS=guest
ports:
- "5672:5672"
- "15672:15672"
networks:
default:
driver: bridge
В командной строке перейдите в директорию, где находится ваш файл docker-compose.yml, и выполните следующую команду:
docker-compose up -d
Давайте пройдемся по каждому разделу этого файла, чтобы понять, что он делает:
- version: ‘3’: Здесь указывается версия формата файла Docker Compose, который мы используем.
- services: В этом разделе определяется служба RabbitMQ, которую мы хотим развернуть. В данном случае мы используем официальный образ RabbitMQ Docker с включенным плагином управления.
- image: rabbitmq:management: Здесь указывается образ докера RabbitMQ, который мы хотим использовать.
- container_name: rabbitmq При этом RabbitMQ контейнеру присваивается имя.
- environment: В этом разделе задаются переменные среды для контейнера RabbitMQ. В этом примере мы устанавливаем имя пользователя и пароль по умолчанию на “guest”. Обратите внимание, что это не рекомендуется для производственных сред.
- ports: В этом разделе порты, используемые RabbitMQ, сопоставляются с соответствующими портами на главном компьютере. В этом случае мы сопоставляем порт 5672 для связи AMQP и порт 15672 для интерфейса управления RabbitMQ.
- networks: В этом разделе задаются сетевые настройки для контейнера RabbitMQ. В этом примере мы используем сеть Docker bridge по умолчанию.