#docker #rabbitmq #amqp #nameko
Вопрос:
Я часами искал, как подключиться к внешнему контейнеру docker, работающему под управлением RabbitMQ.
Я пытаюсь запустить несколько сервисов с помощью Nameko, для которых требуется RabbitMQ. Я запустил свой контейнер RabbitMQ, используя следующую команду:
docker run -d -p 15672:15672 -p 5672:5672 --hostname my-rabbit --name rabbit-container rabbitmq:3-management
Я создал конфигурационный файл yaml под названием config.yaml с этим внутри:
AMQP_URI: 'pyamqp://guest:guest@my-rabbit:5672'
Я запускаю контейнер rabbit и контейнер Nameko и выполняю следующую команду в командной строке контейнера Nameko:
nameko shell --config config.yaml
Я получаю следующую ошибку:
OSError: failed to resolve broker hostname
Докер, RabbitMQ и Nameko-все это новые технологии для меня, поэтому я не уверен, что делаю неправильно. Пожалуйста, дайте мне знать, если увидите что-нибудь, что бросается в глаза.
Ответ №1:
Я начинаю свой кролик с докера-сочиняю:
version: "3"
services:
rabbit:
container_name: rabbitmq
image: rabbitmq:3.7-management
ports:
- "5672:5672"
- "15672:15672" # Exposing RabbitMQ web management on different port for convenience
restart: always
и конфигурация.yaml:
AMQP_URI: amqp://guest:guest@$localhost:5672/