本地使用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 分配。

相关推荐
qq_4523962315 小时前
第十篇:《Dockerfile 最佳实践与镜像瘦身》
docker
Plastic garden15 小时前
Docker(1)
运维·docker·容器
gs8014016 小时前
网络隐形杀手:从 Could not connect to SMTP host 报错深度剖析 Docker MTU 黑洞理论与实战
网络·docker·容器
程序猿阿伟17 小时前
《一套完整方法论:搞定图形应用的Docker镜像优化》
数据库·docker·容器
java_logo18 小时前
2026 Docker 国内镜像加速配置教程
运维·docker·容器·docker镜像·docker镜像源·docker镜像加速·docker镜像国内库
IT策士18 小时前
Docker从0到1再到 Kubernetes 实战:第15篇Compose 中的服务依赖、健康检查与启动顺序
docker·容器·kubernetes
Waay19 小时前
K8s Deployment 滚动更新与回滚深度详解(含踩坑实录+生产选型原理)
云原生·容器·kubernetes
“码”力全开19 小时前
深度解析:基于 Docker 与边缘计算的 AI 视频管理平台架构——打通 GB28181/RTSP 协议与“源码交付”的高效集成方案
人工智能·docker·边缘计算
顾默@19 小时前
双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装
运维·docker·容器
木卫二号Coding19 小时前
打包容器有两种方式
docker