docker-compose.yaml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. version: "3"
  2. # 声明一个名为network的networks,subnet为network的子网地址,默认网关是177.7.0.1
  3. networks:
  4. network:
  5. ipam:
  6. driver: default
  7. config:
  8. - subnet: '177.7.0.0/16'
  9. # 设置mysql,redis持久化保存
  10. volumes:
  11. mysql:
  12. redis:
  13. services:
  14. web:
  15. build:
  16. context: ../../web
  17. dockerfile: ./Dockerfile
  18. container_name: gva-web
  19. restart: always
  20. ports:
  21. - '8080:8080'
  22. depends_on:
  23. - server
  24. command: [ 'nginx-debug', '-g', 'daemon off;' ]
  25. networks:
  26. network:
  27. ipv4_address: 177.7.0.11
  28. server:
  29. build:
  30. context: ../../server
  31. dockerfile: ./Dockerfile
  32. container_name: gva-server
  33. restart: always
  34. ports:
  35. - '8888:8888'
  36. depends_on:
  37. mysql:
  38. condition: service_healthy
  39. redis:
  40. condition: service_healthy
  41. links:
  42. - mysql
  43. - redis
  44. networks:
  45. network:
  46. ipv4_address: 177.7.0.12
  47. mysql:
  48. image: mysql:8.0.21 # 如果您是 arm64 架构:如 MacOS 的 M1,请修改镜像为 image: mysql/mysql-server:8.0.21
  49. container_name: gva-mysql
  50. command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集
  51. restart: always
  52. ports:
  53. - "13306:3306" # host物理直接映射端口为13306
  54. environment:
  55. #MYSQL_ROOT_PASSWORD: 'Aa@6447985' # root管理员用户密码
  56. MYSQL_DATABASE: 'qmPlus' # 初始化启动时要创建的数据库的名称
  57. MYSQL_USER: 'gva'
  58. MYSQL_PASSWORD: 'Aa@6447985'
  59. healthcheck:
  60. test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "gva", "-pAa@6447985"]
  61. interval: 10s
  62. timeout: 5s
  63. retries: 3
  64. volumes:
  65. - mysql:/var/lib/mysql
  66. networks:
  67. network:
  68. ipv4_address: 177.7.0.13
  69. redis:
  70. image: redis:6.0.6
  71. container_name: gva-redis # 容器名
  72. restart: always
  73. ports:
  74. - '16379:6379'
  75. healthcheck:
  76. test: ["CMD-SHELL", "redis-cli ping | grep PONG || exit 1"]
  77. interval: 10s
  78. timeout: 5s
  79. retries: 3
  80. volumes:
  81. - redis:/data
  82. networks:
  83. network:
  84. ipv4_address: 177.7.0.14