当前位置: 首页 > news >正文

【避坑】Nacos 2.1.0 两种部署方案(Docker 部署 + 本地解压部署)

一、前言

最近部署 Nacos 2.1.0 踩了超多坑:Docker 拉取镜像超时、Nacos 启动报No DataSource set、本地 Nacos 连不上 Docker 里的 MySQL、默认集群模式启动卡死等问题。

本文整理两套可直接落地的部署方案

  1. 优先使用Docker 容器部署 Nacos
  2. Docker 拉取镜像超时 / 失败时,用Linux 本地解压部署兜底

全程适配Docker 运行的 MySQL,所有命令复制即用,新手也能一次部署成功。

简洁流程(省流)

前置必做

  1. 启动 Docker 中的 MySQL 容器;
  2. 在 MySQL 中创建nacos库,并导入 Nacos 自带nacos-mysql.sql表结构。

方案一:Docker 部署 Nacos(优先推荐)

  1. 国内镜像源拉取nacos/nacos-server:v2.1.0
  2. 编写custom.env配置单机模式 + Docker MySQL 连接信息;
  3. 挂载配置、映射 8848/9848/9849 端口,执行docker run启动;
  4. 查看日志,浏览器访问 Nacos 控制台。

方案二:Docker 拉取超时兜底(本地解压版)

  1. 下载 Nacos 2.1.0,解压到/usr/local/nacos
  2. 修改application.properties,数据库地址填宿主机 IP:3306,指向 Docker MySQL;
  3. 执行startup.sh -m standalone单机启动;
  4. 放行防火墙 8848 端口,直接浏览器访问使用。

【下载地址】Nacos2.1.0安装包下载https://gitcode.com/open-source-toolkit/55608

二、环境准备

  • 服务器:CentOS 7
  • 容器环境:Docker 已安装并配置国内镜像加速器
  • 数据库:MySQL 运行在 Docker 容器中,映射端口3306,账号xxx,密码xxx
  • Nacos 版本:2.1.0
  • 服务器内网 IP:192.168.100.xxx

三、前置:准备 Docker MySQL

1. 查看并启动 MySQL 容器

# 查看所有容器,找到mysql docker ps -a | grep mysql # 启动mysql容器(替换为你的容器名/ID) docker start mysql

2. 创建 Nacos 数据库 + 导入官方表结构

90% 启动失败都是没建库、没导表导致No DataSource set

# 1. 创建nacos数据库 docker exec -it mysql mysql -uroot -p123 -e "CREATE DATABASE IF NOT EXISTS nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 2. 后续本地部署会用到,提前把nacos建库导表准备好

四、方案一:Docker 部署 Nacos 2.1.0(推荐)

1. 解决 Docker 拉取镜像超时

已配置国内镜像加速器(中科大、网易、清华源),若仍超时,手动拉取国内镜像:

bash

运行

# 拉取中科大同步镜像 docker pull docker.mirrors.ustc.edu.cn/nacos/nacos-server:v2.1.0 # 重命名标签,兼容原生命令 docker tag docker.mirrors.ustc.edu.cn/nacos/nacos-server:v2.1.0 nacos/nacos-server:v2.1.0

2. 编写 nacos 环境配置文件

新建目录并创建custom.env

bash

运行

mkdir -p /root/nacos vim /root/nacos/custom.env

写入配置:

env

# 单机模式 MODE=standalone # 数据库配置 SPRING_DATASOURCE_PLATFORM=mysql MYSQL_SERVICE_HOST=192.168.100.128 MYSQL_SERVICE_PORT=3306 MYSQL_SERVICE_DB_NAME=nacos MYSQL_SERVICE_USER=root MYSQL_SERVICE_PASSWORD=123 MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai # 安全认证配置(高版本Nacos必备) NACOS_AUTH_IDENTITY_KEY=nacos NACOS_AUTH_IDENTITY_VALUE=nacos NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789

3. 启动 Nacos 容器

docker run -d \ --name nacos \ --env-file /root/nacos/custom.env \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ --restart=always \ nacos/nacos-server:v2.1.0

4. 查看启动日志

docker logs -f nacos

出现以下日志代表启动成功:Nacos started successfully in stand alone mode.


五、方案二:本地解压部署 Nacos(Docker 拉取失败兜底)

1. 下载并解压 Nacos 安装包

下载 Nacos 2.1.0 安装包,解压到 Linux 标准软件目录/usr/local

# 解压命令 tar -zxvf nacos-server-2.1.0.tar.gz -C /usr/local/

最终路径:/usr/local/nacos

2. 修改数据库配置(核心避坑)

重点:本地 Nacos 不能用 127.0.0.1 连 Docker MySQL,必须用服务器内网 IP

cat > /usr/local/nacos/conf/application.properties <<EOF server.port=8848 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://192.168.100.128:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai db.user=root db.password=123 EOF

3. 单机模式启动 Nacos

# 进入启动脚本目录 cd /usr/local/nacos/bin # 单机模式启动(必加 -m standalone,否则集群模式启动失败) sh startup.sh -m standalone

4. 查看启动日志

tail -f /usr/local/nacos/logs/start.out

5. Nacos 日常启停

# 停止 cd /usr/local/nacos/bin sh shutdown.sh # 重启 sh startup.sh -m standalone

六、访问 Nacos 控制台

浏览器输入地址:

http://192.168.100.128:8848/nacos

默认账号密码:

  • 用户名:nacos
  • 密码:nacos
http://www.jsqmd.com/news/737682/

相关文章:

  • 3步让Android Studio说中文:小白也能懂的本地化指南
  • 2026微信立减金批量回收最快方法 - 京顺回收
  • 众智商学院题库准吗? - 众智商学院官方
  • 从I2C到异步FIFO:深入聊聊set_data_check在接口时序与CDC中的那些“坑”
  • 现阶段AI编程无法取代程序员
  • 05_AI漫剧实战分镜拆解:80秒爆款仙侠剧的“镜头密码”
  • 【GESP 一级】洛谷 B3864 小明的幸运数 题解
  • 终极跨平台流媒体下载指南:N_m3u8DL-RE技术深度解析
  • 构建AI长期记忆系统:从向量数据库到个性化助手实践
  • 如何在Amlogic S9xxx电视盒子上运行Armbian系统:完整配置指南
  • Code Interpreter API实战:逆向工程实现AI代码执行自动化
  • 众智商学院学习资源多吗? - 众智商学院官方
  • 终极指南:如何安全地在本地导出浏览器Cookie文件
  • 告别混乱!用AD19的‘查找相似对象’和规则管理器,高效完成一块STM32核心板的后期处理
  • Win10时间显示太简陋?用这招让你的任务栏时间变成“信息中心”(含小任务栏按钮问题解决)
  • 魔兽争霸3帧率优化全攻略:WarcraftHelper如何让你的经典游戏焕发新生
  • 整合Taotoken与自动化工具为海量视频片段批量生成个性化描述
  • 批量下载叶绿素a的方法
  • OpenCore Legacy Patcher完整指南:让2008-2017款旧Mac免费升级最新macOS的终极方案
  • 戴尔G15终极散热控制:如何解锁笔记本性能的完整指南?
  • 别再纠结了!FPGA项目选PMOD、FMC还是SYZYGY?一张图帮你搞定接口选型
  • 大模型安全干预:机制与向量操控实践
  • 3步突破网盘下载限速:LinkSwift八大平台高速下载实战秘籍
  • 企业与政府即时通讯工具选型,看这三个维度就够了 - 小天互连即时通讯
  • Wireshark 3.x实战:手把手教你用密钥日志文件解密恶意软件的HTTPS流量(附Dridex样本分析)
  • 视觉语言模型中的几何先验与4D动态推理技术
  • 设计师的“魔法棒“:用ZXPInstaller一键解锁Adobe扩展新世界
  • 别再只跑TwoSampleMR了!用本地VCF文件做LDSC遗传相关性分析,效率提升10倍(附完整R代码)
  • ESP固件烧录神器:5分钟掌握esptool完整使用指南
  • 深度解析抖音无水印下载技术:架构设计与最佳实践