使用Docker部署Nacos并配置MySQL数据源的详细步骤
作者:好奇的菜鸟
前言
在安装 Nacos 之前,请确保你已经准备好了一个运行中的 MySQL 数据库。本教程将指导您如何使用 Docker 在单机模式下部署 Nacos,并将其数据持久化到 MySQL 中。
步骤一:拉取 Nacos 镜像
拉取最新版本的 Nacos Server 镜像,也可以指定特定版本:
docker pull nacos/nacos-server
如果你想拉取特定版本,例如 v2.2.0,则执行:
docker pull nacos/nacos-server:v2.2.0
步骤二:创建并挂载目录
在宿主机上创建两个目录用于日志和配置文件映射:
mkdir -p /mydata/nacos/logs/ mkdir -p /mydata/nacos/conf/
注意:这些目录将作为数据卷挂载到容器内部,使得我们可以在宿主机直接修改相关文件。
步骤三:临时启动并复制文件
- 启动一个临时的 Nacos 容器以便从容器内复制配置文件至宿主机:
docker run -d --name nacos-temp -p 8848:8848 nacos/nacos-server
- 将容器内的配置文件和日志文件复制到宿主机对应的目录:
docker cp nacos-temp:/home/nacos/logs/ /mydata/nacos/ docker cp nacos-temp:/home/nacos/conf/ /mydata/nacos/
- 关闭并移除临时容器:
docker rm -f nacos-temp
步骤四:在 MySQL 中创建 Nacos 所需表结构
在 MySQL 中新建数据库 nacos-config
(或其他自定义名称),然后从 Nacos GitHub 仓库 中找到并执行创建表结构的 SQL 脚本。
步骤五:正式启动 Nacos 并设置环境变量
以下命令用于启动一个带有持久化配置且连接了 MySQL 数据库的 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
命令参数说明:
-d
表示以守护进程模式运行容器。-p
参数用于端口映射。--privileged=true
提升容器权限。-e
设置环境变量,包括 JVM 内存大小、运行模式以及 MySQL 数据库连接信息。-v
挂载数据卷。
网络与防火墙设置
确保宿主机的防火墙规则允许访问 Nacos 相关端口(8848, 9848 和 9849)。对于 Linux 系统,可以使用以下命令:
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 服务以确保新规则生效
配置文件修改
编辑宿主机上的 Nacos 配置文件以指向你的 MySQL 实例:
vim /mydata/nacos/conf/application.properties
更新如下配置项:
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
验证配置是否正确映射到容器内:
docker exec -it nacos /bin/bash cat /home/nacos/conf/application.properties exit
访问 Nacos 控制台
当所有步骤完成后,现在可以通过浏览器访问 Nacos 控制台:
http://<ip>:8848/nacos/index.html
请将 <ip>
替换为实际服务器 IP 地址或本地回环地址 127.0.0.1
。
请注意,上述步骤基于截至撰写本文时的最佳实践,具体操作时,请参照最新的官方文档及 Docker 镜像标签进行调整。同时,务必检查挂载目录映射的正确性,确保应用配置能够成功写入容器。
总结
到此这篇关于使用Docker部署Nacos并配置MySQL数据源的文章就介绍到这了,更多相关Docker部署Nacos配置MySQL数据源内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!