Rumah  >  Soal Jawab  >  teks badan

Imej rabbitmq yang dimulakan dengan docker tidak boleh didedahkan (menyediakan perkhidmatan kepada dunia luar)

Mulakan arahan bekas:

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

kod pengeluar:

    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()

Mesej ralat:

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

Saya melihat kod daripada rakan sekerja dan dalam talian adalah sama seperti saya, tetapi perkhidmatan ini boleh digunakan terus di luar bekas

Cara lain untuk melekapkan kod ke dalam bekas ular sawa juga boleh digunakan seperti biasa

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

Tetapi ini terlalu menyusahkan dan tidak munasabah

Saya tidak tahu di mana masalahnya

世界只因有你世界只因有你2724 hari yang lalu1481

membalas semua(1)saya akan balas

  • 世界只因有你

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

    1. Jika hos diakses, cuba gunakan 127.0.0.1 atau localhost mula-mula semak sama ada rabbitmq berjaya dimulakan, kemudian semak perkhidmatan port, dan semak log

    2. Saya syorkan menggunakan perkhidmatan orkestrasi docker-compose, dan juga mengesyorkan menggunakan python untuk memasangnya ke dalam bekas.

    balas
    0
  • Batalbalas