docker-compose.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. services:
  2. mysql:
  3. image: mysql:8.0
  4. container_name: mysql
  5. restart: always
  6. environment:
  7. MYSQL_ROOT_PASSWORD: Zskk@2025
  8. MYSQL_DATABASE: pacsonline
  9. MYSQL_USER: zskk
  10. MYSQL_PASSWORD: zskk@2025
  11. ports:
  12. - "3306:3306"
  13. volumes:
  14. - ./mysql/data:/var/lib/mysql
  15. - ./mysql/conf:/etc/mysql/conf.d
  16. - ./mysql/init:/docker-entrypoint-initdb.d
  17. command: --default-authentication-plugin=mysql_native_password
  18. # 核心修改:启动时先修正权限,再启动 MySQL
  19. # command: >
  20. # sh -c "
  21. # # 修正初始化目录内所有文件的权限(允许读取)
  22. # chmod -R 644 /docker-entrypoint-initdb.d/* &&
  23. # # 执行原启动命令(保留默认认证插件配置)
  24. # exec docker-entrypoint.sh mysqld --default-authentication-plugin=mysql_native_password
  25. # "
  26. networks:
  27. - app_network
  28. redis:
  29. image: redis:7-alpine
  30. container_name: redis
  31. restart: always
  32. command: redis-server /etc/redis/redis.conf --requirepass zskk@2025
  33. ports:
  34. - "6379:6379"
  35. volumes:
  36. - ./redis/data:/data
  37. - ./redis/conf/redis.conf:/etc/redis/redis.conf
  38. networks:
  39. - app_network
  40. # minio:
  41. # image: minio/minio
  42. # container_name: minio_deploy
  43. # restart: always
  44. # command: server /data --console-address ":9001"
  45. # environment:
  46. # MINIO_ROOT_USER: admin
  47. # MINIO_ROOT_PASSWORD: zskk8888
  48. # ports:
  49. # - "9002:9002" # API 端口
  50. # - "9001:9001" # Web 控制台端口
  51. # volumes:
  52. # - ./data/minio:/data
  53. # networks:
  54. # - app_network
  55. # healthcheck:
  56. # test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
  57. # interval: 30s
  58. # timeout: 20s
  59. # retries: 3
  60. php-fpm:
  61. image: php-fpm-mysql:7.4
  62. container_name: php-fpm
  63. restart: always
  64. ports:
  65. - "9000:9000" # PHP-FPM 端口(与 Nginx 通信)
  66. volumes:
  67. - ./projects/www:/var/www/html # PHP 代码目录
  68. #- ./php-fpm/conf:/usr/local/etc/php/conf.d # PHP 配置目录
  69. networks:
  70. - app_network
  71. depends_on:
  72. - mysql
  73. - redis
  74. # 直接授权:所有用户可读写 runtime 目录
  75. # command: >
  76. # sh -c "
  77. # mkdir -p /var/www/html/zskk_new_server/server/runtime &&
  78. # chmod -R 777 /var/www/html/zskk_new_server/server/runtime &&
  79. # php-fpm
  80. # "
  81. nginx:
  82. image: nginx:alpine
  83. container_name: nginx
  84. restart: always
  85. ports:
  86. - "80:80"
  87. - "443:443"
  88. - "19620:19620" # manage 后台管理
  89. - "19603:19603" # pacs 阅片器
  90. - "19602:19602" # ris医生端
  91. - "19600:19600" # ris医生端server
  92. - "9600:9600" # ris-api
  93. - "9602:9602" # ris
  94. volumes:
  95. - ./nginx/conf:/etc/nginx/conf.d # Nginx 配置目录
  96. - ./nginx/logs:/var/log/nginx # Nginx 日志目录
  97. - ./projects/www:/var/www/html # PHP 代码目录(与 PHP-FPM 共享)
  98. networks:
  99. - app_network
  100. depends_on:
  101. - php-fpm
  102. networks:
  103. app_network:
  104. driver: bridge