使用Docker部署Nacos并配置MySQL數(shù)據(jù)源的詳細(xì)步驟
前言
在安裝 Nacos 之前,請確保你已經(jīng)準(zhǔn)備好了一個運(yùn)行中的 MySQL 數(shù)據(jù)庫。本教程將指導(dǎo)您如何使用 Docker 在單機(jī)模式下部署 Nacos,并將其數(shù)據(jù)持久化到 MySQL 中。
步驟一:拉取 Nacos 鏡像
拉取最新版本的 Nacos Server 鏡像,也可以指定特定版本:
docker pull nacos/nacos-server
如果你想拉取特定版本,例如 v2.2.0,則執(zhí)行:
docker pull nacos/nacos-server:v2.2.0
步驟二:創(chuàng)建并掛載目錄
在宿主機(jī)上創(chuàng)建兩個目錄用于日志和配置文件映射:
mkdir -p /mydata/nacos/logs/ mkdir -p /mydata/nacos/conf/
注意:這些目錄將作為數(shù)據(jù)卷掛載到容器內(nèi)部,使得我們可以在宿主機(jī)直接修改相關(guān)文件。
步驟三:臨時啟動并復(fù)制文件
- 啟動一個臨時的 Nacos 容器以便從容器內(nèi)復(fù)制配置文件至宿主機(jī):
docker run -d --name nacos-temp -p 8848:8848 nacos/nacos-server
- 將容器內(nèi)的配置文件和日志文件復(fù)制到宿主機(jī)對應(yīng)的目錄:
docker cp nacos-temp:/home/nacos/logs/ /mydata/nacos/ docker cp nacos-temp:/home/nacos/conf/ /mydata/nacos/
- 關(guān)閉并移除臨時容器:
docker rm -f nacos-temp
步驟四:在 MySQL 中創(chuàng)建 Nacos 所需表結(jié)構(gòu)
在 MySQL 中新建數(shù)據(jù)庫 nacos-config
(或其他自定義名稱),然后從 Nacos GitHub 倉庫 中找到并執(zhí)行創(chuàng)建表結(jié)構(gòu)的 SQL 腳本。
步驟五:正式啟動 Nacos 并設(shè)置環(huán)境變量
以下命令用于啟動一個帶有持久化配置且連接了 MySQL 數(shù)據(jù)庫的 Nacos 容器:
docker run -d \ --name nacos \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ --privileged=true \ -e JVM_XMS=256m \ -e JVM_XMX=256m \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e DB_NUM=1 \ -e DB_URL_0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC \ -e DB_USER=root \ -e DB_PASSWORD=root \ -v /mydata/nacos/logs/:/home/nacos/logs \ -v /mydata/nacos/conf/:/home/nacos/conf \ --restart=always \ nacos/nacos-server
命令參數(shù)說明:
-d
表示以守護(hù)進(jìn)程模式運(yùn)行容器。-p
參數(shù)用于端口映射。--privileged=true
提升容器權(quán)限。-e
設(shè)置環(huán)境變量,包括 JVM 內(nèi)存大小、運(yùn)行模式以及 MySQL 數(shù)據(jù)庫連接信息。-v
掛載數(shù)據(jù)卷。
網(wǎng)絡(luò)與防火墻設(shè)置
確保宿主機(jī)的防火墻規(guī)則允許訪問 Nacos 相關(guān)端口(8848, 9848 和 9849)。對于 Linux 系統(tǒng),可以使用以下命令:
firewall-cmd --permanent --add-port=8848/tcp firewall-cmd --permanent --add-port=9848/tcp firewall-cmd --permanent --add-port=9849/tcp firewall-cmd --reload systemctl restart docker # 重啟 Docker 服務(wù)以確保新規(guī)則生效
配置文件修改
編輯宿主機(jī)上的 Nacos 配置文件以指向你的 MySQL 實(shí)例:
vim /mydata/nacos/conf/application.properties
更新如下配置項(xiàng):
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=root
驗(yàn)證配置是否正確映射到容器內(nèi):
docker exec -it nacos /bin/bash cat /home/nacos/conf/application.properties exit
訪問 Nacos 控制臺
當(dāng)所有步驟完成后,現(xiàn)在可以通過瀏覽器訪問 Nacos 控制臺:
http://<ip>:8848/nacos/index.html
請將 <ip>
替換為實(shí)際服務(wù)器 IP 地址或本地回環(huán)地址 127.0.0.1
。
請注意,上述步驟基于截至撰寫本文時的最佳實(shí)踐,具體操作時,請參照最新的官方文檔及 Docker 鏡像標(biāo)簽進(jìn)行調(diào)整。同時,務(wù)必檢查掛載目錄映射的正確性,確保應(yīng)用配置能夠成功寫入容器。
總結(jié)
到此這篇關(guān)于使用Docker部署Nacos并配置MySQL數(shù)據(jù)源的文章就介紹到這了,更多相關(guān)Docker部署Nacos配置MySQL數(shù)據(jù)源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker搭建devops(騰訊云輕量應(yīng)用服務(wù)器)教程
這篇文章主要為大家介紹了docker搭建devops(騰訊云輕量應(yīng)用服務(wù)器)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Docker安裝RabbitMQ后訪問報(bào)錯的最佳解決方案
這篇文章主要介紹了Docker安裝RabbitMQ后訪問報(bào)錯的最佳解決方案,錯誤通常是由于RabbitMQ的安全配置導(dǎo)致的,RabbitMQ默認(rèn)配置允許的用戶僅能通過localhost訪問,文中通過圖文講解的非常詳細(xì),需要的朋友可以參考下2025-01-01docker-maven-plugin 插件無法拉取對應(yīng)jar包問題
這篇文章主要介紹了docker-maven-plugin 插件無法拉取問題,總是報(bào)錯,如何解決這個問題呢,下面小編給大家?guī)砹私鉀Q方法,一起看看吧2021-09-09docker搭建nacos1.3.0的實(shí)現(xiàn)
這篇文章主要介紹了docker搭建nacos1.3.0的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn)
本文主要介紹了Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07