Docker(部署常見應用):RabbitMQ安裝docker版 /權限管理命令


1、進入docker hub鏡像倉庫地址:https://hub.docker.com/

2、搜素rabbitMQ 查詢鏡像,可以看到多種類型,選擇帶有web頁面的(managment)

 

 

 

 

 3、拉取鏡像

docker pull rabbitmq:3.8.3-management
#查看拉取到的鏡像
docker image

 

 

 

 

4、根據下載的鏡像創建並啟動mq容器

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc

-d 后台運行容器;

--name 指定容器名;

-p 指定服務運行的端口(服務端端口:容器內端口)(5672:應用訪問端口;15672:控制台Web端口號);

-v 映射目錄或文件;

--hostname  主機名(RabbitMQ的一個重要注意事項是它根據所謂的 “節點名稱” 存儲數據,默認為主機名);

-e 指定環境變量;(RABBITMQ_DEFAULT_VHOST:默認虛擬機名;RABBITMQ_DEFAULT_USER:默認的用戶名;RABBITMQ_DEFAULT_PASS:默認用戶名的密碼)

2888deb59dfc  是啟動的鏡像id:docker images 中IMAGE_ID字段

提示1:指定RABBITMQ_DEFAULT_VHOST虛擬機名稱后【開發配置中需要修改spring.rabbitmq.virtual-host屬性,默認是/】

提示2:根據hostname命令獲取主機名

 

5、使用命令:docker ps 查看正在運行容器

 

 

6、可以使用瀏覽器打開web管理端:http://服務器地址:15672 ,輸入設置的賬號密碼即可

 

 

簡單應用來這里吧: SpringBoot應用操作Rabbitmq

 

權限管理

首先登陸docker :

 docker exec -it 9e83ee385ca7 /bin/bash 
9e83ee385ca7為docker ps中查看的mq容器id;

1. 用戶管理

用戶管理包括增加用戶,刪除用戶,查看用戶列表,修改用戶密碼。

相應的命令

(1) 新增一個用戶

rabbitmqctl  add_user  Username  Password

(2) 刪除一個用戶

rabbitmqctl  delete_user  Username

(3) 修改用戶的密碼

rabbitmqctl  change_password  Username  Newpassword

(4) 查看當前用戶列表

rabbitmqctl  list_users

2. 用戶角色

按照個人理解,用戶角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。

(1) 超級管理員(administrator)

可登陸管理控制台(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。

(2) 監控者(monitoring)

可登陸管理控制台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)

(3) 策略制定者(policymaker)

可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。

與administrator的對比,administrator能看到這些內容

(4) 普通管理者(management)

僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。

(5) 其他

無法登陸管理控制台,通常就是普通的生產者和消費者。

了解了這些后,就可以根據需要給不同的用戶設置不同的角色,以便按需管理。

設置用戶角色的命令為:

rabbitmqctl  set_user_tags  User  Tag

User為用戶名, Tag為角色名(對應於上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。

也可以給同一用戶設置多個角色,例如

rabbitmqctl  set_user_tags  hncscwc  monitoring  policymaker

3. 用戶權限

用戶權限指的是用戶對exchange,queue的操作權限,包括配置權限,讀寫權限。配置權限會影響到exchange,queue的聲明和刪除。讀寫權限影響到從queue里取消息,向exchange發送消息以及queue和exchange的綁定(bind)操作。

例如: 將queue綁定到某exchange上,需要具有queue的可寫權限,以及exchange的可讀權限;向exchange發送消息需要具有exchange的可寫權限;從queue里取數據需要具有queue的可讀權限。詳細請參考官方文檔中"How permissions work"部分。

相關命令為:

(1) 設置用戶權限

rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP

(2) 查看(指定hostpath)所有用戶的權限信息

rabbitmqctl  list_permissions  [-p  VHostPath]

(3) 查看指定用戶的權限信息

rabbitmqctl  list_user_permissions  User

(4)  清除用戶的權限信息

rabbitmqctl  clear_permissions  [-p VHostPath]  User

 

docker安裝rabbitmq:rabbitMQ安裝docker版 /權限管理命令

簡單應用來這里吧: SpringBoot應用操作Rabbitmq

簡單應用來這里吧: SpringBoot應用操作Rabbitmq(direct高級操作)

簡單應用來這里吧:SpringBoot應用操作Rabbitmq(topic交換器高級操作)   

簡單應用來這里吧:SpringBoot應用操作Rabbitmq(fanout廣播高級操作)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM