繁体   English   中英

如何连接到 RabbitMQ (docker-compose)?

[英]How to connect to RabbitMQ (docker-compose)?

朋友们,我在这里练习并开发一个系统,该系统由一个 web 服务和一个工人组成,它们通过 RabbirMQ 相互通信。 当我单独运行每个容器时一切正常,但是当我尝试通过 docker-compose 运行它们时,它不起作用。 与Webservice的连接失败:“dial tcp: lookup rabbitmq on 127.0.0.11:53: no such host ...”

也许你们可以帮我找出我遗漏的东西。 以下是凭据:

conn, err = amqp.Dial("amqp://guest:guest@rabbitmq:5672")
    if err != nil {
        logErr(err, "Failed to connect to RabbitMQ")
    }

这是我的撰写文件:

version:  '3.3'
services: 
    blur-rabbitmq: 
        image: rabbitmq:3-alpine
        container_name: blur-rabbitmq
        restart: always
        hostname: rabbitmq
        ports: 
            - 5672:5672
            - 15672:15672
        environment:
            # RABBITMQ_ERLANG_COOKIE: ${RABBITMQ_ERLANG_COOKIE}
            RABBITMQ_DEFAULT_USER: "guest"
            RABBITMQ_DEFAULT_PASS: "guest"
            RABBITMQ_DEFAULT_VHOST: "/"
    
    blur-service: 
        depends_on:
            - blur-rabbitmq
        build: .
        container_name: blur-service
        restart: always
        volumes:
            - type: bind
              source: /Users/marcelo/Desktop/source-images
              target: /source-images
        ports: 
            - 8080:8080

    blur-worker: 
        depends_on:
            - blur-rabbitmq
        build: controller/
        container_name: blur-worker
        restart: always
        volumes:
            - type: bind
              source: /Users/marcelo/Desktop/source-images
              target: /source-images
            - type: bind
              source: /Users/marcelo/Desktop/blurred-images
              target: /blurred-images

这里是我得到的部分日志:

Starting blur-rabbitmq ... done
Starting blur-service  ... done
Recreating blur-worker ... done
Attaching to blur-rabbitmq, blur-service, blur-worker
blur-service     | 2020/10/26 01:08:57 dial tcp: lookup rabbitmq on 127.0.0.11:53: no such host: Failed to connect to RabbitMQ
blur-service exited with code 1
blur-worker      | Traceback (most recent call last):
blur-worker      |   File "worker.py", line 34, in <module>
blur-worker      |     main()
blur-worker      |   File "worker.py", line 18, in main
blur-worker      |     connection = BlockingConnection(ConnectionParameters("rabbitmq"))
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 359, in __init__
blur-worker      |     self._impl = self._create_connection(parameters, _impl_class)
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 450, in _create_connection
blur-worker      |     raise self._reap_last_connection_workflow_error(error)
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/utils/selector_ioloop_adapter.py", line 562, in _resolve
blur-worker      |     result = socket.getaddrinfo(self._host, self._port, self._family,
blur-worker      |   File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
blur-worker      |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
blur-worker      | socket.gaierror: [Errno -2] Name or service not known
blur-service exited with code 1
blur-service exited with code 1
blur-worker      | Traceback (most recent call last):
blur-worker      |   File "worker.py", line 34, in <module>
blur-worker      |     main()
blur-worker      |   File "worker.py", line 18, in main
blur-worker      |     connection = BlockingConnection(ConnectionParameters("rabbitmq"))
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 359, in __init__
blur-worker      |     self._impl = self._create_connection(parameters, _impl_class)
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 450, in _create_connection
blur-worker      |     raise self._reap_last_connection_workflow_error(error)
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/utils/selector_ioloop_adapter.py", line 562, in _resolve
blur-worker      |     result = socket.getaddrinfo(self._host, self._port, self._family,
blur-worker      |   File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
blur-worker      |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
blur-worker      | socket.gaierror: [Errno -2] Name or service not known
blur-rabbitmq    | Configuring logger redirection
blur-worker exited with code 1
blur-service exited with code 1
blur-rabbitmq    | 2020-10-26 01:09:03.310 [debug] <0.287.0> Lager installed handler error_logger_lager_h into error_logger
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.290.0> Lager installed handler lager_forwarder_backend into error_logger_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.293.0> Lager installed handler lager_forwarder_backend into rabbit_log_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.296.0> Lager installed handler lager_forwarder_backend into rabbit_log_channel_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.299.0> Lager installed handler lager_forwarder_backend into rabbit_log_connection_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.302.0> Lager installed handler lager_forwarder_backend into rabbit_log_feature_flags_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.305.0> Lager installed handler lager_forwarder_backend into rabbit_log_federation_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.308.0> Lager installed handler lager_forwarder_backend into rabbit_log_ldap_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.311.0> Lager installed handler lager_forwarder_backend into rabbit_log_mirroring_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.317.0> Lager installed handler lager_forwarder_backend into rabbit_log_queue_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.314.0> Lager installed handler lager_forwarder_backend into rabbit_log_prelaunch_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.320.0> Lager installed handler lager_forwarder_backend into rabbit_log_ra_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.323.0> Lager installed handler lager_forwarder_backend into rabbit_log_shovel_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.315 [debug] <0.326.0> Lager installed handler lager_forwarder_backend into rabbit_log_upgrade_lager_event
blur-rabbitmq    | 2020-10-26 01:09:03.338 [info] <0.44.0> Application lager started on node rabbit@rabbitmq
blur-worker      | Traceback (most recent call last):
blur-worker      |   File "worker.py", line 34, in <module>
blur-worker      |     main()
blur-worker      |   File "worker.py", line 18, in main
blur-worker      |     connection = BlockingConnection(ConnectionParameters("rabbitmq"))
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 359, in __init__
blur-worker      |     self._impl = self._create_connection(parameters, _impl_class)
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/blocking_connection.py", line 450, in _create_connection
blur-worker      |     raise self._reap_last_connection_workflow_error(error)
blur-worker      |   File "/usr/local/lib/python3.8/site-packages/pika/adapters/utils/selector_ioloop_adapter.py", line 562, in _resolve
blur-worker      |     result = socket.getaddrinfo(self._host, self._port, self._family,
blur-worker      |   File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
blur-worker      |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
blur-worker      | socket.gaierror: [Errno -2] Name or service not known
blur-worker exited with code 1
blur-rabbitmq    | 2020-10-26 01:09:03.810 [debug] <0.283.0> Lager installed handler lager_backend_throttle into lager_event

它应该是:

conn, err = amqp.Dial("amqp://guest:guest@blur-rabbitmq:5672")

连接字符串应该是 docker-compose 中的服务名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM