Задать вопрос
coderisimo
@coderisimo

Существует ли простой способ добавить RabbitMQ в существущий проект в докере?

Для локальной разработки использую докер, хотя и опасаюсь его , просыпаюсь по ночам, вскрикиваю, но не сдаюсь. Путем проб и ошибок настроил нужное окружение. Ничего особенного PHP, MySQL,Mongo, нужные либы в PHP , Nginx. Имеется docker-compose, каталог images , в нем папка PHP c Dockerfile(в нем описаны либы необходимые для нормальной работы PHP). Каталоги mysql и hosts.
Хотелось бы попробовать поработать с очередями и воркерами. Изучаю RabbitMQ. По тому , как использовать его для простых вещей вопросов нет , а вот все попытки запихнуть енто счастье в докер пока тщетны.
Пробовал делать по этому мануалу манускрипЪ , но безуспешно.
Может есть более простой способ установить сее чудо или пошаговое руководство для пенсионеров?

Спасибо
  • Вопрос задан
  • 1998 просмотров
Подписаться 3 Средний 6 комментариев
Решения вопроса 1
coderisimo
@coderisimo Автор вопроса
В общем, вот такой конфиг завелся :
version: '2.0'
services:
    rabbitmq:
        image: rabbitmq:3-management-alpine
        container_name: rabbitmq
        volumes:
            - ./.docker/rabbitmq/etc/:/etc/rabbitmq/
            - ./.docker/rabbitmq/data/:/var/lib/rabbitmq/
            - ./.docker/rabbitmq/logs/:/var/log/rabbitmq/
        ports:
            - "5672:5672"
            - "15672:15672"
    nginx:
        image: nginx:latest
        ports:
            - "8000:80"
        # монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере
        volumes:
            - ./hosts:/etc/nginx/conf.d
            - ./www:/var/www
            - ./logs:/var/log/nginx
        links:
            - php
    php:
        # у нас свой образ для PHP, указываем путь к нему и говорим что его надо собрать
        build: ./images/php
        links:
            - mysql
            - rabbitmq
        volumes:
            - ./www:/var/www
    mysql:
        image: mariadb
        ports:
            - "3306:3306"
        volumes:
            - ./mysql:/var/lib/mysql
        environment:
            MYSQL_ROOT_PASSWORD: secret
        environment:
            PMA_HOST: mysql
            MYSQL_USERNAME: root
            MYSQL_ROOT_PASSWORD: secret


Далее ставим плагин , дающий возможность изучать происходящее в кролике используя браузерный UI.
Для этого заходим в контейнер docker exec -it rabbitmq bash
Ставим плагин rabbitmq-plugins enable rabbitmq_management
Можно убедиться , что все установлено rabbitmq-plugins list
Нам покажут список установленных плагинов.
После заходим по адресу localhost:15672 (пароль-логин , по умолчанию guest).

Кролик готов! :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы