pika в одном котнейнере не взаимодействует с rabbitmq в другом
Я пытаюсь через docker-compose запустить два сервиса. Один сервис это rabbitmq а второй это python код test, который должен добавлять один запрос в очередь rabbit'а с помощью pika. При запуске через docker-compose up test возвращает следующее:
test_1 | Traceback (most recent call last):
test_1 | File "test.py", line 11, in <module>
test_1 | command_queue = RabbitQueueWriter(MANAGER_QUEUE)
test_1 | File "/usr/src/app/parsers/parsers/common/rabbit.py", line 92, in __init__
test_1 | self.connection, self.channel = rabbit_connect(host, port, qos, heartbeat, connection_timeout)
test_1 | File "/usr/src/app/parsers/parsers/common/rabbit.py", line 10, in rabbit_connect
test_1 | heartbeat=heartbeat, blocked_connection_timeout=connection_timeout))
test_1 | File "/usr/local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 359, in __init__
test_1 | self._impl = self._create_connection(parameters, _impl_class)
test_1 | File "/usr/local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 450, in _create_connection
test_1 | raise self._reap_last_connection_workflow_error(error)
test_1 | pika.exceptions.AMQPConnectionError
В двух словах происходит следующее: pika пытается достучаться до rabbitmq но не может. Для запуска сервиса test у меня стоит restart: always, но это не особо помогает. Даже когда rabbit запускается и начинает функционировать, test всё равно продолжает стабильно падать из раза в раз.
Я пытался прописать один networks для обоих сервисов. Пытался прописать порты для rabbit'а как через ports так и через expose. Прописывал в сервис test'а environment: AMQP_URL: 'amqp://rabbitmq?connection_attempts=5&retry_delay=5'. Даже пробовал прописать для rabbit'а domainname: rabbitmq.com. Ни одна из попыток ни к чему не привела.
Код docker-compose.yml
version: '3'
services:
rabbitmq:
image: 'docker.io/bitnami/rabbitmq:3.8-debian-10'
domainname: rabbitmq.com
restart: always
ports:
- '5672:5672'
- '15672:15672'
test:
build:
context: ./parsers
dockerfile: Dockerfile-test
restart: always
depends_on:
- rabbitmq
links:
- rabbitmq