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