Heim  >  Fragen und Antworten  >  Hauptteil

Das mit Docker gestartete Rabbitmq-Image kann nicht verfügbar gemacht werden (Bereitstellung von Diensten für die Außenwelt).

Container-Befehl starten:

sudo docker run --name rabbit -d -p 5672:5672 -p 15672:15672 rabbitmq:management

Herstellercode:

    import pika
    connection = pika.BlockingConnection(pika.ConnectionParameters('rabbit'))
    channel = connection.channel()
    channel.queue_declare(queue='task_queue', durable=True)


    message = 'hello!'
    channel.basic_publish(exchange='',
                          routing_key='task_queue',
                          body=message,
                          )
    print(" [x] Sent %r" % message)
    connection.close()

Fehlermeldung:

Traceback (most recent call last):
  File "producer_queue.py", line 31, in <module>
    main()
  File "producer_queue.py", line 13, in main
    connection = pika.BlockingConnection(pika.ConnectionParameters('rabbit'))
  File "/usr/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 339, in __init__
    self._process_io_for_connection_setup()
  File "/usr/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 374, in _process_io_for_connection_setup
    self._open_error_result.is_ready)
  File "/usr/local/lib/python2.7/site-packages/pika/adapters/blocking_connection.py", line 395, in _flush_output
    raise exceptions.ConnectionClosed()
pika.exceptions.ConnectionClosed

Ich habe den Code von Kollegen gesehen und online ist derselbe wie meiner, aber der Service kann direkt außerhalb des Containers genutzt werden

Eine andere Möglichkeit, den Code in einen Python-Container einzubinden, kann auch normal verwendet werden

sudo docker run -v $PWD:/code -w /code --link=rabbit:rabbit -it python:2 bash

Aber das ist zu mühsam und unvernünftig

Ich weiß nicht, wo das Problem liegt. Bitte lösen Sie es

世界只因有你世界只因有你2674 Tage vor1444

Antworte allen(1)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-05-27 17:46:12

    1.如果宿主机访问的话,你使用127.0.0.1 或者localhost试一试,先检查rabbitmq是否启动成功,然后检查端口服务,也检查一下日志

    2.我推荐使用docker-compose编排服务,也推荐使用python挂载到容器中使用。

    Antwort
    0
  • StornierenAntwort