《Docker 部署 Nacos:服务注册与配置中心》

张开发
2026/4/20 5:27:05 15 分钟阅读

分享文章

《Docker 部署 Nacos:服务注册与配置中心》
《Docker 部署 Nacos服务注册与配置中心》核心standalone 模式启动MySQL 数据源配置一、什么是 NacosNacos 是阿里巴巴开源的动态命名服务、配置管理平台是 Spring Cloud Alibaba 体系的核心组件。它同时具备服务注册发现和配置管理两大功能。二、为什么要用 MySQL 持久化Nacos 默认使用 Derby 嵌入式数据库但 Derby 不支持集群且数据不易迁移。生产环境必须使用 MySQL 存储配置和服务信息。三、准备工作# 创建数据目录 mkdir nacos-docker cd nacos-docker mkdir -p logs data # 准备 MySQL可以用已有的 MySQL 或 Docker 启动一个四、创建 Nacos 数据库连接 MySQL 执行CREATE DATABASE nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;导入 Nacos 初始化 SQL从官方 GitHub 下载# 下载初始化脚本 wget https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/nacos-mysql.sql # 导入数据库 mysql -u root -p nacos_config nacos-mysql.sql五、docker-compose.yml 配置version: 3.8 services: nacos: image: nacos/nacos-server:v2.3.0 container_name: nacos restart: always ports: - 8848:8848 - 9848:9848 # gRPC 端口服务注册使用 environment: - MODEstandalone # 单机模式核心 - PREFER_HOST_MODEhostname # MySQL 数据源配置核心 - SPRING_DATASOURCE_PLATFORMmysql - MYSQL_SERVICE_HOST你的MySQL地址 - MYSQL_SERVICE_DB_NAMEnacos_config - MYSQL_SERVICE_PORT3306 - MYSQL_SERVICE_USERroot - MYSQL_SERVICE_PASSWORD你的密码 # JVM 配置可选 - JVM_XMS512m - JVM_XMX512m - JVM_XMN256m volumes: - ./logs:/home/nacos/logs - ./data:/home/nacos/data networks: - nacos-net networks: nacos-net: driver: bridge六、启动与访问# 启动 docker-compose up -d # 查看日志 docker-compose logs -f nacos访问控制台http://你的IP:8848/nacos默认账号密码nacos/nacos七、Spring Boot 应用配置如果你的 Spring Boot 应用要接入 Nacos添加以下配置# application.yml spring: cloud: nacos: discovery: server-addr: 你的IP:8848 username: nacos password: nacos config: server-addr: 你的IP:8848 file-extension: yaml username: nacos password: nacos八、常见问题Q服务注册失败9848 端口报错ANacos 2.x 版本使用 gRPC 通信除了 8848还需要开放 9848-9850 端口。QMySQL 连接不上A检查 MySQL 是否允许远程连接以及网络是否互通最好在同一个 Docker 网络中。

更多文章