天天看點

【Docker】RabbitMQ使用學習

【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 使用者進行遠端連接配接