docker-compose.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. version: '3.8'
  2. services:
  3. mysql:
  4. image: mysql:8.0
  5. container_name: enagic-mysql
  6. environment:
  7. MYSQL_ROOT_PASSWORD: 123456
  8. MYSQL_DATABASE: lilishop
  9. MYSQL_USER: enagic
  10. MYSQL_PASSWORD: enagic123
  11. ports:
  12. - "3306:3306"
  13. volumes:
  14. - mysql-data:/var/lib/mysql
  15. - ./DB/enagic_init.sql:/docker-entrypoint-initdb.d/02_enagic.sql
  16. command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  17. healthcheck:
  18. test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
  19. interval: 10s
  20. timeout: 5s
  21. retries: 5
  22. redis:
  23. image: redis:6-alpine
  24. container_name: enagic-redis
  25. ports:
  26. - "6379:6379"
  27. volumes:
  28. - redis-data:/data
  29. command: redis-server --appendonly yes
  30. rocketmq:
  31. image: apache/rocketmq:4.9.4
  32. container_name: enagic-rocketmq
  33. ports:
  34. - "9876:9876"
  35. - "10911:10911"
  36. volumes:
  37. - rocketmq-data:/opt/rocketmq/store
  38. environment:
  39. JAVA_OPTS: "-Drocketmq.namesrv.addr=localhost:9876"
  40. command: sh mqnamesrv
  41. lilishop:
  42. image: pickmall/lilishop:4.3
  43. container_name: enagic-lilishop
  44. ports:
  45. - "8080:8080"
  46. environment:
  47. SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/lilishop?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
  48. SPRING_DATASOURCE_USERNAME: root
  49. SPRING_DATASOURCE_PASSWORD: 123456
  50. SPRING_REDIS_HOST: redis
  51. SPRING_REDIS_PORT: 6379
  52. ROCKETMQ_NAMESRV_ADDR: rocketmq:9876
  53. depends_on:
  54. mysql:
  55. condition: service_healthy
  56. redis:
  57. condition: service_started
  58. rocketmq:
  59. condition: service_started
  60. volumes:
  61. - ./enagic-plugin/target/enagic-*.jar:/app/libs/enagic-plugin.jar
  62. extra_hosts:
  63. - "host.docker.internal:host-gateway"
  64. volumes:
  65. mysql-data:
  66. redis-data:
  67. rocketmq-data:
  68. networks:
  69. default:
  70. name: enagic-network