docker 安裝 Rabbitmq的基本步驟
在平常的開發(fā)工作中,我們經(jīng)常會使用到 rabbitmq,rabbitmq 主要可以進行應(yīng)用解耦、異步通信、流量削峰、負載均衡、消息持久化、死信隊列等。比如商城系統(tǒng),下單后,通過消息隊列通知庫存系統(tǒng)、積分系統(tǒng)、物流系統(tǒng)等。發(fā)送短信時通過消息隊列異步通知,導入處理大文件時通過消息隊列異步處理等。那么 docker 下如何安裝 rabbitmq 呢?今天簡單來總結(jié)下主要步驟。
1:拉取鏡像
通過命令 docker pull rabbitmq:版本號,拉取鏡像,如果不輸入則默認拉取最新版本的鏡像。
注意:rabbitmq 鏡像分為數(shù)字版本鏡像和帶 management 的鏡像。帶 management 的主要是集成了管理界面和相關(guān)插件,管理界面需要運行一個 Web 服務(wù)器來提供服務(wù)。開發(fā)、測試階段,需要使用管理頁面直觀的看到消息發(fā)送及接受情況,使用 management 可以提高工作效率。數(shù)字版本鏡像只包含 rabbitmq 的核心功能,不包含管理界面和相關(guān)插件,所以其資源占用相對較少。如果對資源占用有嚴格的要求,且不需要可視化管理頁面那就使用數(shù)字版本鏡像。
2:創(chuàng)建掛載目錄
# 數(shù)據(jù)持久化目錄 mkdir -p /docker/rabbitmq/data:/var/lib/rabbitmq # 日志目錄 mkdir -p /docker/rabbitmq/logs:/var/log/rabbitmq
3:啟動 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):啟動 docker compose up rabbitmq
啟動報錯,大致意思就是打開log目錄沒有權(quán)限,報錯如下:
解決方案為給 /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)限,第一個表示文件或者目錄所有者(owner)權(quán)限、第二個表示所屬組(group)權(quán)限、第三個表示其他用戶(others)的權(quán)限。
讀取權(quán)限(r):對應(yīng)值為4
寫入權(quán)限(w):對應(yīng)值為2
執(zhí)行權(quán)限(x):對應(yīng)值為1
沒有權(quán)限:對應(yīng)值為0
7 代表擁有讀取權(quán)限(4)、寫入權(quán)限(2)和執(zhí)行權(quán)限(1),即 4+2+1=7,權(quán)限為 rwx,即目錄所有者、所屬組、其他用戶都可以操作該目錄中的文件,新增、刪除、修改、讀取文件。
重新啟動 rabbitmq,啟動成功,日志如下:
可以使用 docker ps 查看啟動的容器,如下:
4:進行測試
訪問 ip地址 + 15672 端口,如 127.0.0.1::15672,訪問成功,登錄頁面如下:
可能遇到的問題,訪問不同,那么可能是防火墻端口的問題,可能是 15672 端口防火墻未開導致的,不同的內(nèi)核版本有不同的對應(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 的時候,配置丟失等。消息隊列可以實現(xiàn)異步通信、應(yīng)用解耦、流量削峰等。
到此這篇關(guān)于docker 安裝 Rabbitmq的基本步驟的文章就介紹到這了,更多相關(guān)docker 安裝 Rabbitmq內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
liunx內(nèi)存滿了,docker中overlay2爆表解決方案
這篇文章主要介紹了liunx內(nèi)存滿了,docker中overlay2爆表解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08關(guān)于CentOS 8.4離線安裝Docker包的問題
這篇文章主要介紹了CentOS 8.4離線安裝Docker,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09使用dockercompose搭建springboot-mysql-nginx應(yīng)用
這篇文章主要介紹了使用dockercompose搭建springboot-mysql-nginx應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03Docker安裝Tomcat、MySQL和Redis的步驟詳解
這篇文章主要介紹了Docker安裝Tomcat、MySQL和Redis的步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11記一次Docker生產(chǎn)環(huán)境搭建的方法
這篇文章主要介紹了記一次Docker生產(chǎn)環(huán)境搭建的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06Docker 鏡像優(yōu)化(從1.16GB到22.4MB)
在這篇文章中,我將重點討論如何優(yōu)化 Docker 鏡像以使其輕量化,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08詳解用Docker構(gòu)建MySQL主從環(huán)境
這篇文章主要介紹了詳解用Docker構(gòu)建MySQL主從環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07Docker如何解決tomcat容器啟動成功,無法訪問的問題
這篇文章主要介紹了Docker如何解決tomcat容器啟動成功,無法訪問的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07