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

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

chmod 777 命令詳解:chmod 用于修改文件或者目錄訪問權(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
寫入權(quán)限(w):對(duì)應(yīng)值為2
執(zhí)行權(quán)限(x):對(duì)應(yīng)值為1
沒有權(quán)限:對(duì)應(yīng)值為0
7 代表擁有讀取權(quán)限(4)、寫入權(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è)試
訪問 ip地址 + 15672 端口,如 127.0.0.1::15672,訪問成功,登錄頁面如下:

可能遇到的問題,訪問不同,那么可能是防火墻端口的問題,可能是 15672 端口防火墻未開導(dǎo)致的,不同的內(nèi)核版本有不同的對(duì)應(yīng)命令,如果是 Centos 內(nèi)核版本,查看版本可以用 cat /etc/os-release 命令,可以先查看 15672 端口是否開了防火墻,如果沒開,則添加后重啟防火墻,相關(guān)命令如下:
查看防火墻開端口:firewall-cmd --zone=public --list-ports
添加端口:firewall-cmd --zone=public --add-port=15672/tcp --permanent
重啟防火墻:firewall-cmd --reload
以上為 docker 安裝 rabbitmq 的基本步驟,主要是 docker-compose.yml 文件的編寫。配置掛載目錄,可以防止重啟 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)文章
centos7搭建docker私人倉庫的方法(kubernetes)
這篇文章主要介紹了centos7搭建docker私人倉庫的方法(kubernetes),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
Docker Desktop啟動(dòng)失敗的解決(Docker failed to i
本文主要介紹了Docker Desktop啟動(dòng)失敗的解決(Docker failed to initialize Docker Desktop is shutting down),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
docker?compose運(yùn)行微服務(wù)項(xiàng)目的方法
這篇文章主要介紹了docker?compose運(yùn)行微服務(wù)項(xiàng)目?,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Docker一鍵將運(yùn)行中的容器打包成鏡像并導(dǎo)出操作
在Docker中,將運(yùn)行中的容器保存為鏡像并導(dǎo)出是一個(gè)常見的操作,特別是在你需要遷移或備份容器配置和數(shù)據(jù)時(shí),這篇文章主要介紹了Docker一鍵將運(yùn)行中的容器打包成鏡像并導(dǎo)出操作的相關(guān)資料,需要的朋友可以參考下2025-11-11
Docker File創(chuàng)建鏡像失敗ERROR [3/4] RUN yum&nbs
文章描述了在使用DockerFile創(chuàng)建基于CentOS Linux 8的鏡像時(shí)遇到的問題,即無法下載vim軟件包的元數(shù)據(jù),問題的原因是CentOS Linux 8的AppStream倉庫沒有可用的URL,為了解決這個(gè)問題,作者建議將CentOS版本修改為7,因?yàn)镃entOS Linux 7的AppStream倉庫通常有可用的URL2024-11-11

