docker-compose.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. version: "3"
  2. services:
  3. nginx:
  4. image: nginx:1.20.2
  5. ports:
  6. - "9100:80"
  7. - "9103:443"
  8. environment:
  9. - TZ=Asia/Shanghai
  10. volumes:
  11. - ../Web/dist:/usr/share/nginx/html
  12. - "./nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro"
  13. - "./nginx/key:/etc/nginx/key/"
  14. depends_on:
  15. - adminNet
  16. links:
  17. - adminNet
  18. mysql:
  19. image: mysql:5.7
  20. ports:
  21. - 9101:3306
  22. restart: unless-stopped
  23. privileged: true
  24. ulimits:
  25. nproc: 655350
  26. nofile:
  27. soft: 131072
  28. hard: 400000
  29. #healthcheck:
  30. # test: "/usr/bin/mysql --user=root --password=root --execute \"SHOW DATABASES;\""
  31. # interval: 10s # 间隔时间
  32. # timeout: 3s # 超时时间
  33. # retries: 50 # 重试次数
  34. environment:
  35. MYSQL_ROOT_HOST: "%"
  36. MYSQL_DATABASE: admin
  37. MYSQL_ROOT_PASSWORD: root
  38. TZ: Asia/Shanghai
  39. volumes:
  40. - ./mysql/mysql:/var/lib/mysql
  41. - ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
  42. redis:
  43. image: 'redis:latest' # 使用最新版本的 Redis 镜像,也可以指定特定版本如 'redis:6.2.7'
  44. container_name: my-redis # 自定义容器名称
  45. ports:
  46. - '9137:6379' # 宿主机 9137 → 容器 6379(避免与宿主机已有 redis 占用的 6379 冲突)
  47. volumes: # 持久化数据
  48. - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
  49. - ./redis/data:/data:rw
  50. - ./redis/logs:/logs
  51. #command: ['redis-server', '--appendonly', 'yes'] # 启用AOF持久化
  52. command: ['redis-server','/usr/local/etc/redis/redis.conf']
  53. environment: # 设置环境变量,例如密码
  54. - REDIS_PASSWORD=123456
  55. minio:
  56. image: minio/minio:RELEASE.2025-04-22T22-12-26Z
  57. container_name: minio
  58. restart: always
  59. environment:
  60. - MINIO_ROOT_USER=admin
  61. - MINIO_ROOT_PASSWORD=admin123456
  62. volumes:
  63. - ./minio/data:/data
  64. - ./minio/config:/root/.minio
  65. ports:
  66. - "9104:9000" # API端口
  67. - "9105:9001" # 控制台端口
  68. command: server /data --console-address ":9001"
  69. tdengine:
  70. image: tdengine/tdengine:3.3.6.13
  71. volumes:
  72. - ./tdengine/taos/dnode/data:/var/lib/taos
  73. - ./tdengine/taos/dnode/log:/var/log/taos
  74. hostname: tdengine
  75. container_name: tdengine
  76. privileged: true
  77. environment:
  78. TAOS_FQDN: "tdengine"
  79. TAOS_FIRST_EP: "tdengine" # 指向首个节点主机名
  80. TAOS_SECOND_EP: "tdengine" # 可选备用节点
  81. ports:
  82. - 16030:6030 # 宿主机若已有 taosd 占用 6030,映射到 16030 避免冲突
  83. - 6041:6041
  84. - 6044-6049:6044-6049
  85. - 6044-6045:6044-6045/udp
  86. - 6060:6060
  87. adminNet:
  88. image: mcr.microsoft.com/dotnet/aspnet:10.0
  89. ports:
  90. - "9102:5005" # 与 app/Configuration/App.json 中 Urls 端口一致
  91. environment:
  92. - TZ=Asia/Shanghai
  93. volumes:
  94. - ../server/Admin.NET.Web.Entry/bin/Release/net10.0/:/app
  95. - ./app/Configuration/:/app/Configuration/
  96. - ./app/wait-for-it.sh:/app/wait-for-it.sh
  97. working_dir: /app
  98. command: ["/bin/bash", "-c", "/app/wait-for-it.sh mysql:3306 -t 120 && dotnet Admin.NET.Web.Entry.dll --content-root /app/wwwroot"]
  99. depends_on:
  100. - mysql
  101. - redis