本地使用docker-compse搭建nacos集群

使用 Docker Compose 搭建 Nacos 集群是一种非常方便且常见的方法,特别是在开发和测试环境中。下面是一个基本的 Docker Compose 配置文件示例,用于在单台机器上部署一个 Nacos 集群。这个示例配置会启动三个 Nacos 实例,使它们相互之间能够发现并形成一个集群。

前提条件

  • 确保已经安装了 Docker 和 Docker Compose。

步骤

1. 创建 Docker Compose 文件

首先,创建一个名为 docker-compose.yml 的文件,内容如下:

yaml 复制代码
version: '3'
services:
  nacos1:
    image: nacos/nacos-server
    environment:
      - PREFER_HOST_MODE=hostname
      - NACOS_REPLICAS=3
      - NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=nacos
      - MYSQL_SERVICE_PASSWORD=nacos
    ports:
      - "8848:8848"
      - "9555:9555"
    depends_on:
      - mysql

  nacos2:
    image: nacos/nacos-server
    environment:
      - PREFER_HOST_MODE=hostname
      - NACOS_REPLICAS=3
      - NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=nacos
      - MYSQL_SERVICE_PASSWORD=nacos
    ports:
      - "8849:8848"

  nacos3:
    image: nacos/nacos-server
    environment:
      - PREFER_HOST_MODE=hostname
      - NACOS_REPLICAS=3
      - NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=nacos
      - MYSQL_SERVICE_PASSWORD=nacos
    ports:
      - "8850:8848"

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: nacos
      MYSQL_USER: nacos
      MYSQL_PASSWORD: nacos
    ports:
      - "3306:3306"
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8
      --collation-server=utf8_unicode_ci
      --explicit-defaults-for-timestamp=1
    volumes:
      - ./mysql:/var/lib/mysql

networks:
  default:
    external:
      name: nacos-net
2. 创建网络

如果网络 nacos-net 不存在,你需要创建它,以确保所有容器都在同一个网络中互相通信。

bash 复制代码
docker network create nacos-net
3. 启动 Docker Compose

在包含 docker-compose.yml 文件的目录中运行以下命令:

bash 复制代码
docker-compose up -d

这个命令将启动定义在 docker-compose.yml 文件中的所有服务。

验证集群状态

一旦容器启动,你可以通过浏览器访问以下任一地址来检查 Nacos 的管理界面:

默认的用户名和密码通常是 nacos

这就完成了使用 Docker Compose 在单台机器上搭建 Nacos 集群的过程。确保你的机器有足够的资源来运行多个容器。如果需要,你可以根据实际情况调整内存和 CPU 分配。

相关推荐
张忠琳38 分钟前
【NPU】Ascend Docker Runtime v26.0.1 之三 runtime/dcmi/ — 超深度逐行分析
云原生·容器·kubernetes·npu·docker-runtime
giaming0232 小时前
告别Docker Desktop!一款轻量级原生开发环境管理工具:FlyEnv
运维·docker·容器
暗影凋落4 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
极客先躯5 小时前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统
江湖有缘6 小时前
Docker实战 : 使用Docker部署Musicn音乐下载工具
docker·容器·eureka
沉迷学习 日益消瘦7 小时前
17-Custom Resource 入门
docker·容器·kubernetes
腾飞开源10 小时前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
江湖有缘18 小时前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
张忠琳19 小时前
【NPU】Ascend Docker Runtime v26.0.1 之二 runtime/process/process.go — 超深度逐行分析
云原生·容器·架构·kubernetes·npu·docker-runtime
Kevin Wang7271 天前
Nvidia-AGX-spark部署手册——课堂质量诊断(jetpack:r36)
python·docker·容器