- 启动容器:
sudo docker run -itd -p 55672:5672 -p 45672:15672 -v /media/moveDir/dxq/test/question_block_segment:/home/code -w /home/code --name mq_server xxxx:v11 /bin/bash
5672端口为容器内 生产者端口,15672 为控制面板端口 2. 进入容器:
sudo docker exec -it mq_server /bin/bash
- 启动 mq server
rabbitmq-server start
这里即可访问控制面板 host:45672
4. 添加用户以及设置密码,权限
rabbitmqctl add_user dxq 123456
rabbitmqctl set_user_tags dxq administrator
- dxq 123456 登录控制面板设置 hosts
- mq produce 发送消息
amqp://dxq:123456@host:55672/test
#!/usr/bin/env python
import time
import pika
import json
import sys
sys.path.append('./')
def load_json(config_file):
with open(config_file) as load_f:
return json.load(load_f)
return None
# load configuration file
configure_file = './mq_config.cfg'
config_data = load_json(configure_file)
env = config_data['envs'][1]
# amqp://dxq:123456@host:55672/test
mq_url_parameter = config_data[env]['mq_url_parameter']
mq_queue = config_data[env]['mq_queue']
parameters = pika.URLParameters(mq_url_parameter)
connection = pika.BlockingConnection(parameters)
channel = connection.channel() #创建通道
channel.queue_declare(queue=mq_queue, durable=True)
body_value1 = {'msg1'}
body_value2 ={'msg2'}
body_values = [body_value1,body_value2]
for i in range(1):
for body in body_values:
body_value_str = json.dumps(body)
channel.basic_publish(exchange='',
routing_key=mq_queue,
body=body_value_str) #设置routing_key(消息队列的名称)和body(发送的内容)
print(" [x] Sent body: %s"%body_value_str)
- mq client 接收消息