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消息幂等性問題