docker 安裝 Rabbitmq的基本步驟
在平常的開(kāi)發(fā)工作中,我們經(jīng)常會(huì)使用到 rabbitmq,rabbitmq 主要可以進(jìn)行應(yīng)用解耦、異步通信、流量削峰、負(fù)載均衡、消息持久化、死信隊(duì)列等。比如商城系統(tǒng),下單后,通過(guò)消息隊(duì)列通知庫(kù)存系統(tǒng)、積分系統(tǒng)、物流系統(tǒng)等。發(fā)送短信時(shí)通過(guò)消息隊(duì)列異步通知,導(dǎo)入處理大文件時(shí)通過(guò)消息隊(duì)列異步處理等。那么 docker 下如何安裝 rabbitmq 呢?今天簡(jiǎn)單來(lái)總結(jié)下主要步驟。
1:拉取鏡像
通過(guò)命令 docker pull rabbitmq:版本號(hào),拉取鏡像,如果不輸入則默認(rèn)拉取最新版本的鏡像。
注意:rabbitmq 鏡像分為數(shù)字版本鏡像和帶 management 的鏡像。帶 management 的主要是集成了管理界面和相關(guān)插件,管理界面需要運(yùn)行一個(gè) Web 服務(wù)器來(lái)提供服務(wù)。開(kāi)發(fā)、測(cè)試階段,需要使用管理頁(yè)面直觀的看到消息發(fā)送及接受情況,使用 management 可以提高工作效率。數(shù)字版本鏡像只包含 rabbitmq 的核心功能,不包含管理界面和相關(guān)插件,所以其資源占用相對(duì)較少。如果對(duì)資源占用有嚴(yán)格的要求,且不需要可視化管理頁(yè)面那就使用數(shù)字版本鏡像。

2:創(chuàng)建掛載目錄
# 數(shù)據(jù)持久化目錄 mkdir -p /docker/rabbitmq/data:/var/lib/rabbitmq # 日志目錄 mkdir -p /docker/rabbitmq/logs:/var/log/rabbitmq
3:?jiǎn)?dòng) rabbitmq
(1):新建 docker-compose.yml 文件
rabbitmq:
# 帶有管理界面的 rabbitmq 鏡像
image: rabbitmq:management
container_name: rabbitmq
ports:
# AMQP 協(xié)議端口
- "5672:5672"
# rabbitmq 管理界面端口
- "15672:15672"
volumes:
# 數(shù)據(jù)持久化目錄
- /usr/local/docker/rabbitmq/data:/var/lib/rabbitmq
# 日志目錄
- /usr/local/docker/rabbitmq/logs:/var/log/rabbitmq
environment:
# 設(shè)置用戶名
RABBITMQ_DEFAULT_USER: guest
# 設(shè)置密碼
RABBITMQ_DEFAULT_PASS: 123456
restart: always(2):?jiǎn)?dòng) docker compose up rabbitmq
啟動(dòng)報(bào)錯(cuò),大致意思就是打開(kāi)log目錄沒(méi)有權(quán)限,報(bào)錯(cuò)如下:

解決方案為給 /docker/rabbitmq/logs 目錄添加權(quán)限,命令為 chmod 777 /docker/rabbitmq/logs,執(zhí)行完成后,可以查看 logs 目錄的權(quán)限,查看命令為 ls -l (小寫(xiě)的L),查看如下:

chmod 777 命令詳解:chmod 用于修改文件或者目錄訪問(wèn)權(quán)限。777 是采用數(shù)字的方式設(shè)置權(quán)限,第一個(gè)表示文件或者目錄所有者(owner)權(quán)限、第二個(gè)表示所屬組(group)權(quán)限、第三個(gè)表示其他用戶(others)的權(quán)限。
讀取權(quán)限(r):對(duì)應(yīng)值為4
寫(xiě)入權(quán)限(w):對(duì)應(yīng)值為2
執(zhí)行權(quán)限(x):對(duì)應(yīng)值為1
沒(méi)有權(quán)限:對(duì)應(yīng)值為0
7 代表?yè)碛凶x取權(quán)限(4)、寫(xiě)入權(quán)限(2)和執(zhí)行權(quán)限(1),即 4+2+1=7,權(quán)限為 rwx,即目錄所有者、所屬組、其他用戶都可以操作該目錄中的文件,新增、刪除、修改、讀取文件。
重新啟動(dòng) rabbitmq,啟動(dòng)成功,日志如下:

可以使用 docker ps 查看啟動(dòng)的容器,如下:

4:進(jìn)行測(cè)試
訪問(wèn) ip地址 + 15672 端口,如 127.0.0.1::15672,訪問(wèn)成功,登錄頁(yè)面如下:

可能遇到的問(wèn)題,訪問(wèn)不同,那么可能是防火墻端口的問(wèn)題,可能是 15672 端口防火墻未開(kāi)導(dǎo)致的,不同的內(nèi)核版本有不同的對(duì)應(yīng)命令,如果是 Centos 內(nèi)核版本,查看版本可以用 cat /etc/os-release 命令,可以先查看 15672 端口是否開(kāi)了防火墻,如果沒(méi)開(kāi),則添加后重啟防火墻,相關(guān)命令如下:
查看防火墻開(kāi)端口:firewall-cmd --zone=public --list-ports
添加端口:firewall-cmd --zone=public --add-port=15672/tcp --permanent
重啟防火墻:firewall-cmd --reload
以上為 docker 安裝 rabbitmq 的基本步驟,主要是 docker-compose.yml 文件的編寫(xiě)。配置掛載目錄,可以防止重啟 rabbitmq 的時(shí)候,配置丟失等。消息隊(duì)列可以實(shí)現(xiàn)異步通信、應(yīng)用解耦、流量削峰等。
到此這篇關(guān)于docker 安裝 Rabbitmq的基本步驟的文章就介紹到這了,更多相關(guān)docker 安裝 Rabbitmq內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
liunx內(nèi)存滿了,docker中overlay2爆表解決方案
這篇文章主要介紹了liunx內(nèi)存滿了,docker中overlay2爆表解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
關(guān)于CentOS 8.4離線安裝Docker包的問(wèn)題
這篇文章主要介紹了CentOS 8.4離線安裝Docker,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
使用dockercompose搭建springboot-mysql-nginx應(yīng)用
這篇文章主要介紹了使用dockercompose搭建springboot-mysql-nginx應(yīng)用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
Docker中啟動(dòng)Nacos的實(shí)現(xiàn)示例
本文主要介紹了Docker中啟動(dòng)Nacos的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Docker安裝Tomcat、MySQL和Redis的步驟詳解
這篇文章主要介紹了Docker安裝Tomcat、MySQL和Redis的步驟詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
記一次Docker生產(chǎn)環(huán)境搭建的方法
這篇文章主要介紹了記一次Docker生產(chǎn)環(huán)境搭建的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Docker 鏡像優(yōu)化(從1.16GB到22.4MB)
在這篇文章中,我將重點(diǎn)討論如何優(yōu)化 Docker 鏡像以使其輕量化,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
詳解用Docker構(gòu)建MySQL主從環(huán)境
這篇文章主要介紹了詳解用Docker構(gòu)建MySQL主從環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Docker如何解決tomcat容器啟動(dòng)成功,無(wú)法訪問(wèn)的問(wèn)題
這篇文章主要介紹了Docker如何解決tomcat容器啟動(dòng)成功,無(wú)法訪問(wèn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07

