docker-compose.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. services:
  2. nacos:
  3. image: registry.cn-chengdu.aliyuncs.com/reghao/nacos_nacos-server:v2.4.1
  4. restart: always
  5. container_name: nacos
  6. network_mode: "host"
  7. # ports:
  8. # - "8848:8848" # 控制台端口 http://localhost:8848/nacos
  9. # - "9848:9848" # gRPC 客户端连接端口(Nacos 2.x 必需)
  10. # - "9849:9849" # gRPC 服务端同步端口
  11. volumes:
  12. - /opt/docker/nacos/logs:/home/nacos/logs
  13. - /opt/docker/nacos/data:/home/nacos/data
  14. environment:
  15. - NACOS_HOME=/home/nacos
  16. - NACOS_LOG_PATH=/home/nacos/logs
  17. - NACOS_LOG_DIR=/home/nacos/logs
  18. - CUSTOM_JVM_OPTS=-Dnacos.logging.path=/home/nacos/logs
  19. - NACOS_AUTH_ENABLE=true # 开启鉴权(建议开启,默认密码 nacos/nacos)
  20. - NACOS_AUTH_TOKEN=U2VjcmV0S2V5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDE=
  21. - NACOS_AUTH_IDENTITY_KEY=myNacosKey
  22. - NACOS_AUTH_IDENTITY_VALUE=myNacosValue
  23. - MODE=standalone # 单机模式
  24. - JVM_XMS=1g
  25. - JVM_XMX=1g
  26. - SPRING_DATASOURCE_PLATFORM=mysql # https://github.com/alibaba/nacos/blob/2.4.1/distribution/conf/mysql-schema.sql
  27. - MYSQL_SERVICE_HOST=127.0.0.1
  28. - MYSQL_SERVICE_DB_NAME=nacos_config
  29. - MYSQL_SERVICE_PORT=3306
  30. - MYSQL_SERVICE_USER=test
  31. - MYSQL_SERVICE_PASSWORD=Test_123456
  32. - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC
  33. healthcheck:
  34. test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/index.html"]
  35. interval: 15s
  36. timeout: 5s
  37. retries: 3
  38. start_period: 60s # Nacos 启动较慢,给足初始化时间
  39. # 1. 资源限制 (Deploy 节点)
  40. deploy:
  41. resources:
  42. limits:
  43. cpus: '1.0' # 限制最大占用 1 个 CPU 核心
  44. memory: 2G # 限制最大占用 2GB 内存
  45. reservations:
  46. memory: 1G # 容器启动时预留 1GB 内存
  47. # 2. 日志限制 (Logging 节点)
  48. # 限制单个日志文件大小为 100MB,最多保留 3 个,防止占满磁盘
  49. logging:
  50. driver: "json-file"
  51. options:
  52. max-size: "100m"
  53. max-file: "3"