Rumah > Soal Jawab > teks badan
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
世界只因有你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.