【Docker】RabbitMQ使用學習
官方鏡像: https://hub.docker.com/_/rabbitmq
鏡像基于 Ubuntu 18.04.4 LTS 版,安裝目錄:/opt/rabbitmq,配置目錄:/etc/rabbitmq
# docker pull rabbitmq:3.8.3-management
# docker run -d --restart=always -p 5672:5672 -p 15672:15672 -p 25672:25672 --name rabbitmq rabbitmq:3.8.3-management
Alpine 鏡像,目錄
# docker pull rabbitmq:3.8.2-management-alpine
# docker run -d --restart=always -p 5672:5672 -p 15672:15672 -p 25672:25672 --name rabbitmq rabbitmq:3.8.2-management-alpine
啟動後通路位址:http://IP位址:15672
預設賬号密碼都是 guest
指定其他參數
# docker run -d --restart=always --name rabbitmq -p 5672:5672 -p 15672:15672 -v /root/ycx/rabbitmq:/var/lib/rabbitmq --hostname myRabbitmq -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3.7.7-management
參數說明:
-d 背景運作容器
--restart=always 系統啟動後重新開機
--name 指定容器名
-p 指定服務運作的端口,宿主端口:容器端口(5672:應用通路端口;15672:控制台Web端口号)
-v 映射目錄或檔案
--hostname 主機名(RabbitMQ的一個重要注意事項是它根據所謂的 “節點名稱” 存儲資料,預設為主機名)
-e 指定環境變量;(RABBITMQ_DEFAULT_VHOST:預設虛拟機名;RABBITMQ_DEFAULT_USER:預設的使用者名;RABBITMQ_DEFAULT_PASS:預設使用者名的密碼)
指令添加交換器、隊列、綁定
# docker exec -d rabbitmq rabbitmqadmin -u guest -p guest declare exchange name=logs-exchange type=direct durable=true
# docker exec -d rabbitmq rabbitmqadmin -u guest -p guest declare queue name=logs-queue
# docker exec -d rabbitmq rabbitmqadmin -u guest -p guest declare binding source=logs-exchange destination=logs-queue routing_key=logs-queue
進入容器
# docker exec -it rabbitmq bash
RabbitMQ 配置
/etc/rabbitmq/rabbitmq.conf
# vi /etc/rabbitmq/rabbitmq.conf
通過設定 loopback_users 為 none 可以使 guest 使用者進行遠端連接配接