# Nacos Standalone Mode - Docker Compose # 适用于开发/测试环境,单节点部署 version: '3.8' services: # MySQL for Nacos Persistence (可选,如果使用内置Derby可以注释掉) nacos-mysql: image: mysql:8.0 container_name: erp-nacos-mysql environment: MYSQL_ROOT_PASSWORD: root123456 MYSQL_DATABASE: nacos_config MYSQL_USER: nacos MYSQL_PASSWORD: nacos123456 ports: - "3308:3306" volumes: - nacos_mysql_data:/var/lib/mysql - ./init/mysql-schema.sql:/docker-entrypoint-initdb.d/mysql-schema.sql command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password networks: - nacos-network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot123456"] interval: 10s timeout: 5s retries: 5 # Nacos Server (Standalone with MySQL) nacos-server: image: nacos/nacos-server:v2.2.3 container_name: erp-nacos-server environment: # 运行模式:standalone 单机 / cluster 集群 MODE: standalone # MySQL持久化配置 SPRING_DATASOURCE_PLATFORM: mysql MYSQL_SERVICE_HOST: nacos-mysql MYSQL_SERVICE_DB_NAME: nacos_config MYSQL_SERVICE_PORT: 3306 MYSQL_SERVICE_USER: nacos MYSQL_SERVICE_PASSWORD: nacos123456 # 认证配置(生产环境务必修改) NACOS_AUTH_ENABLE: "true" NACOS_AUTH_TOKEN: "SecretKey012345678901234567890123456789012345678901234567890123456789" NACOS_AUTH_IDENTITY_KEY: "serverIdentity" NACOS_AUTH_IDENTITY_VALUE: "security" # JVM调优(开发环境可适当降低) JVM_XMS: 512m JVM_XMX: 512m JVM_XMN: 256m ports: - "8848:8848" # 主端口 - "9848:9848" # gRPC端口(客户端gRPC请求) - "9849:9849" # gRPC端口(集群间通信) volumes: - nacos_logs:/home/nacos/logs - nacos_data:/home/nacos/data depends_on: nacos-mysql: condition: service_healthy networks: - nacos-network restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/v1/console/health/readiness"] interval: 15s timeout: 10s retries: 10 start_period: 30s volumes: nacos_mysql_data: nacos_logs: nacos_data: networks: nacos-network: driver: bridge