docker-compose.yml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. version: '3'
  2. services:
  3. mysql:
  4. image: mysql:8.0.27
  5. container_name: mysql
  6. environment:
  7. # 时区上海
  8. TZ: Asia/Shanghai
  9. # root 密码
  10. MYSQL_ROOT_PASSWORD: yun@BAN#!
  11. # 初始化数据库(后续的初始化sql会在这个库执行)
  12. MYSQL_DATABASE: kxmall
  13. ports:
  14. - "3306:3306"
  15. volumes:
  16. # 数据挂载
  17. - /docker/mysql/data/:/var/lib/mysql/
  18. # 配置挂载
  19. - /docker/mysql/conf/:/etc/mysql/conf.d/
  20. command:
  21. # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
  22. --default-authentication-plugin=mysql_native_password
  23. --character-set-server=utf8mb4
  24. --collation-server=utf8mb4_general_ci
  25. --explicit_defaults_for_timestamp=true
  26. --lower_case_table_names=1
  27. privileged: true
  28. restart: always
  29. networks:
  30. kxmall_net:
  31. ipv4_address: 172.30.0.36
  32. nginx-web:
  33. image: nginx:1.21.3
  34. container_name: nginx-web
  35. environment:
  36. # 时区上海
  37. TZ: Asia/Shanghai
  38. ports:
  39. - "80:80"
  40. - "8585:8585"
  41. - "443:443"
  42. volumes:
  43. # 证书映射
  44. - /docker/nginx/cert:/etc/nginx/cert
  45. # 配置文件映射
  46. - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
  47. # 页面目录
  48. - /docker/nginx/html:/usr/share/nginx/html
  49. - /docker/nginx/app:/usr/share/nginx/app
  50. - /docker/nginx/rider:/usr/share/nginx/rider
  51. # 日志目录
  52. - /docker/nginx/log:/var/log/nginx
  53. privileged: true
  54. restart: always
  55. networks:
  56. - kxmall_net
  57. redis:
  58. image: redis:6.2.6
  59. container_name: redis
  60. ports:
  61. - "6379:6379"
  62. environment:
  63. # 时区上海
  64. TZ: Asia/Shanghai
  65. volumes:
  66. # 配置文件
  67. - /docker/redis/conf:/redis/config:rw
  68. # 数据文件
  69. - /docker/redis/data/:/redis/data/:rw
  70. command: "redis-server /redis/config/redis.conf"
  71. privileged: true
  72. restart: always
  73. networks:
  74. kxmall_net:
  75. ipv4_address: 172.30.0.48
  76. kxmall-admin:
  77. image: kxmall/kxmall-admin:1.0.0
  78. container_name: kxmall-admin
  79. environment:
  80. # 时区上海
  81. TZ: Asia/Shanghai
  82. volumes:
  83. # 配置文件
  84. - /docker/server/logs/:/kxmall/server/logs/
  85. privileged: true
  86. restart: always
  87. networks:
  88. kxmall_net:
  89. ipv4_address: 172.30.0.60
  90. networks:
  91. kxmall_net:
  92. driver: bridge
  93. ipam:
  94. config:
  95. - subnet: 172.30.0.0/16