Docker中安裝RabbitMQ


1、一點廢話(可直接跳轉至標題2)

通常在拉取鏡像之前,除了通過命令執行 docker search xxx 之外,我們還可以通過 Docker 鏡像倉庫查詢指定的鏡像。

如下是 rabbitmq 鏡像的搜索結果:

一般拉取下載數 + stars 數相對比較高的,可防止被別人掛馬。

我們點開這個 stars 數最多的 rabbitmq,然后在標簽頁可以找到鏡像當前的一些版本信息:

截圖中的這兩個標簽版本,management 表示帶 web 管理界面的版本,也就是可視化操作的,所以鏡像相對大個10M左右,我們通常都是使用這個版本。

2、正文部分

2.1、拉取鏡像

悉知:本文基於 rabbitmq:3.8.9-management

docker pull rabbitmq:3.8.9-management

安裝過程如下:

2.2、創建並啟動鏡像

執行如下命令:

docker run -d --hostname my-rabbitmq \
-p 15672:15672 -p 5672:5672 \
--name my-rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:3.8.9-management

執行截圖:

關於參數:

  • -d:以守護進程方式在后台運行
  • --hostname:設置容器的主機名稱,僅本機可見。這種方式是寫到 /etc/hostname ,以及 /etc/hosts 文件中,作為容器主機IP的別名,並且將顯示在容器的bash中。不過這種方式設置的主機名將不容易被容器之外可見。這將不會出現在 docker ps 或者 其他的容器的 /etc/hosts 文件中。
  • --name:指定容器名
  • -p:指定服務運行的端口。
  • RABBITMQ_DEFAULT_USER:用於設置登陸控制台的用戶名,這里我設置 admin
  • RABBITMQ_DEFAULT_PASS:用於設置登陸控制台的密碼,這里我設置 admin容器啟動成功后,可以在瀏覽器輸入地址:http://ip:15672/訪問控制台

額外說一下 rabbitmq 這幾個端口的作用:

  • 4369:EPMD( Erlang Port Mapper Daemon)端口號,在 Erlang 集群中相當於 dns 的作用
  • 5672:client 端通信端口
  • 15672:web管理界面端口

2.3、訪問web管理界面

賬號密碼為上方指定的 user_pass:admin、admin

2.4、創建賬戶

切換到 Admin 標簽,完成對用戶的增刪改查,其中 Tags 表示角色,角色取值有:

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

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

  • policymaker(策略制定者):可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。

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

  • none(其他):無法登陸管理控制台,通常就是普通的生產者和消費者。

如下是 Web 操作截圖界面:

2.5、創建虛擬 host(niceyoo)

創建 host 可以通過 docker 進入容器內部通過命令方式創建,當然也可以直接在 web 管理界面新增更加的直觀。

Admin 標簽,右側 Virtual Hosts ,Add virtual host

2.6、分配用戶Host權限

點擊上方新增的 host 節點,進入該 host

3、文章推薦

RabbitMQ六種隊列模式-簡單隊列
RabbitMQ六種隊列模式-工作隊列
RabbitMQ六種隊列模式-發布訂閱
RabbitMQ六種隊列模式-路由模式
RabbitMQ六種隊列模式-主題模式
SpringBoot整合RabbitMQ
RabbitMQ消息冪等性問題

 


免責聲明!

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



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