Docker 部署 RabbitMQ
簡介
AMQP,即Advanced Message Queuing Protocol,高級消息隊列協(xié)議,是應(yīng)用層協(xié)議的一個開放標(biāo)準(zhǔn),為面向消息的中間件設(shè)計。消息中間件主要用于組件之間的解耦,消息的發(fā)送者無需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、隊列、路由(包括點對點和發(fā)布/訂閱)、可靠性、安全。
RabbitMQ是一個開源的AMQP實現(xiàn),服務(wù)器端用Erlang語言編寫,支持多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系統(tǒng)中存儲轉(zhuǎn)發(fā)消息,在易用性、擴展性、高可用性等方面表現(xiàn)不俗。
RabbitMQ提供了可靠的消息機制、跟蹤機制和靈活的消息路由,支持消息集群和分布式部署。適用于排隊算法、秒殺活動、消息分發(fā)、異步處理、數(shù)據(jù)同步、處理耗時任務(wù)、CQRS等應(yīng)用場景。
部署RabbitMQ
docker鏡像地址
rabbitmq:management
: 帶web管理界面rabbitmq
:不帶web管理界面
這里拉取rabbitmq:management
鏡像
docker pull rabbitmq:management
Run
docker run -d --hostname=rabbitmqhost --name rabbitmq -p 5672:5672 -p 15672:15672 -v /dockerdata/rabbitmq/data:/var/lib/rabbitmq ?-e RABBITMQ_DEFAULT_VHOST=v_rabbitmqhost ?-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin ?rabbitmq:management
映射5672客戶端通信端口,和15672web管理端口。
參數(shù)含義hostname指定rabbitmq的Host名稱,保持持久化-p 5672客戶端通信端口-p 15672webUI管理端口-v /var/lib/rabbitmq持久化,和hostname最好一起使用RABBITMQ_DEFAULT_VHOST容器Host名稱RABBITMQ_DEFAULT_USER/RABBITMQ_DEFAULT_PASS設(shè)置賬號密碼,不配置的話 默認(rèn)guest/guest
簡化版
docker run -d --hostname=rabbitmqhost --name rabbitmq -p 5672:5672 -p 15672:15672 -v /dockerdata/rabbitmq/data:/var/lib/rabbitmq rabbitmq:management
進入RabbitMQ
docker exec -it rabbitmq bash
命令含義rabbitmq-plugins enable rabbitmq_management啟用Web控制臺,此鏡像默認(rèn)啟用;如果使用rabbitmq鏡像此命令開啟rabbitmqctl status查看RabbitMQ狀態(tài)rabbitmqctl add_user username password添加用戶rabbitmqctl set_user_tags username administrator賦予用戶管理員權(quán)限r(nóng)abbitmqctl list_users查看用戶列表rabbitmqctl delete_user username刪除用戶rabbitmqctl oldPassword Username newPassword修改用戶密碼
訪問rabbitmq:15672
,使用guest/guest
登錄

鏈接:https://www.dianjilingqu.com/607185.html