docker-compose.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. - "./nginx/dist:/usr/share/nginx/html"
  12. - "./nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro"
  13. - "./nginx/key:/etc/nginx/key/"
  14. links:
  15. - adminNet
  16. mysql:
  17. image: mysql:5.7
  18. ports:
  19. - 9101:3306
  20. restart: unless-stopped
  21. privileged: true
  22. ulimits:
  23. nproc: 655350
  24. nofile:
  25. soft: 131072
  26. hard: 400000
  27. #healthcheck:
  28. # test: "/usr/bin/mysql --user=root --password=root --execute \"SHOW DATABASES;\""
  29. # interval: 10s # 间隔时间
  30. # timeout: 3s # 超时时间
  31. # retries: 50 # 重试次数
  32. environment:
  33. MYSQL_ROOT_HOST: "%"
  34. MYSQL_DATABASE: admin
  35. MYSQL_ROOT_PASSWORD: root
  36. TZ: Asia/Shanghai
  37. volumes:
  38. - ./mysql/mysql:/var/lib/mysql
  39. - ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
  40. redis:
  41. image: 'redis:latest' # 使用最新版本的 Redis 镜像,也可以指定特定版本如 'redis:6.2.7'
  42. container_name: my-redis # 自定义容器名称
  43. ports:
  44. - '6379:6379' # 映射宿主机的 6379 端口到容器的 6379 端口
  45. volumes: # 持久化数据
  46. - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
  47. - ./redis/data:/data:rw
  48. - ./redis/logs:/logs
  49. #command: ['redis-server', '--appendonly', 'yes'] # 启用AOF持久化
  50. command: ['redis-server','/usr/local/etc/redis/redis.conf']
  51. environment: # 设置环境变量,例如密码
  52. - REDIS_PASSWORD=123456
  53. adminNet:
  54. image: mcr.microsoft.com/dotnet/aspnet:6.0
  55. ports:
  56. - "9102:5050"
  57. environment:
  58. - TZ=Asia/Shanghai
  59. volumes:
  60. - "./app:/app"
  61. working_dir: /app
  62. command: ["/app/wait-for-it.sh", "mysql:3306", "-t", "120", "--","dotnet", "Admin.NET.Web.Entry.dll"]
  63. depends_on:
  64. - mysql
  65. - redis