我无法连接到Rabbitmq服务器端口5672

时间:2017-02-09 12:50:37

标签: docker rabbitmq symfony

使用此命令

php bin/console rabbitmq:consumer -w upload_picture

我有这个问题。

 [ErrorException]
stream_socket_client(): unable to connect to tcp://localhost:5672 (Aucune
 connexion n'a pu etre établie car l'ordinateur cible lÆa expressÚment
 refusée.

所以我无法连接到服务器rabbitmq

config.yml

old_sound_rabbit_mq:
connections:
    default:
        host:     'localhost' # hostname and port of the rabbitmq server
        port:     5672
        user:     'guest'
        password: 'guest'
        vhost:    '/'
        lazy:     true # a lazy connection avoids unnecessary connections to the broker on every request
        connection_timeout: 3
        read_write_timeout: 3
        keepalive: false
        heartbeat: 0
producers:
    upload_picture:
        connection:       default # connects to the default connection configured above
        exchange_options: {name: 'upload_picture', type: direct}
consumers:
    upload_picture:
        connection:       default # connects to the default connection configured above
        exchange_options: {name: 'upload_picture', type: direct}
        queue_options:    {name: 'upload_picture'}
        callback:         upload_picture_service # the UploadPictureConsumer defined below

2 个答案:

答案 0 :(得分:2)

根据您的评论

7c01193b2f74 projecttest_queue "docker-entrypoint..." 24 hours ago Up 5 hours 4369/tcp, 5671/tcp, 25672/tcp, 0.0.0.0:55672->5672/tcp, 0.0.0.0:32768->15672/tcp

项目正在侦听的端口是55672 - 请参阅0.0.0.0:55672->5672/tcp

因此,您需要更新您的php项目以连接到localhost:55672,而不仅仅是localhost:5672

答案 1 :(得分:0)

您可以直接找到需要连接的端口

docker inspect --format '{{ (index (index .NetworkSettings.Ports "5672/tcp") 0).HostPort }}' rabbitmq_container

有关如何从docker inspect

获取特定值的详细信息,请参阅How to get ENV variable when doing Docker Inspect