docker-compose.yml 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. version: "3.8"
  2. services:
  3. mysql:
  4. container_name: yudao-mysql
  5. image: mysql:8
  6. restart: unless-stopped
  7. tty: true
  8. ports:
  9. - 3308:3306
  10. environment:
  11. MYSQL_DATABASE: ${MYSQL_DATABASE:-ruoyi-vue-pro}
  12. MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
  13. volumes:
  14. - mysql:/var/lib/mysql/
  15. networks:
  16. - yudao-network
  17. redis:
  18. container_name: yudao-redis
  19. image: redis:6-alpine
  20. ports:
  21. - 6379:6379
  22. networks:
  23. - yudao-network
  24. server:
  25. container_name: yudao-server
  26. build:
  27. context: ./yudao-server/
  28. image: yudao-server
  29. ports:
  30. - 48080:48080
  31. environment:
  32. # https://github.com/polovyivan/docker-pass-configs-to-container
  33. SPRING_PROFILES_ACTIVE: local
  34. JAVA_OPTS:
  35. ${JAVA_OPTS:-
  36. -Xms512m
  37. -Xmx512m
  38. -Djava.security.egd=file:/dev/./urandom
  39. }
  40. ARGS:
  41. --spring.datasource.dynamic.datasource.master.url=${MASTER_DATASOURCE_URL:-jdbc:mysql://yudao-mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
  42. --spring.datasource.dynamic.datasource.master.username=${MASTER_DATASOURCE_USERNAME:-root}
  43. --spring.datasource.dynamic.datasource.master.password=${MASTER_DATASOURCE_PASSWORD:-123456}
  44. --spring.datasource.dynamic.datasource.slave.url=${SLAVE_DATASOURCE_URL:-jdbc:mysql://yudao-mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
  45. --spring.datasource.dynamic.datasource.slave.username=${SLAVE_DATASOURCE_USERNAME:-root}
  46. --spring.datasource.dynamic.datasource.slave.password=${SLAVE_DATASOURCE_PASSWORD:-123456}
  47. --spring.redis.host=${REDIS_HOST:-yudao-redis}
  48. networks:
  49. - yudao-network
  50. depends_on:
  51. - mysql
  52. - redis
  53. admin:
  54. container_name: yudao-admin
  55. build:
  56. context: ./yudao-ui-admin
  57. args:
  58. NODE_ENV:
  59. ENV=${NODE_ENV:-production}
  60. PUBLIC_PATH=${PUBLIC_PATH:-/}
  61. VUE_APP_TITLE=${VUE_APP_TITLE:-芋道管理系统}
  62. VUE_APP_BASE_API=${VUE_APP_BASE_API:-/prod-api}
  63. VUE_APP_APP_NAME=${VUE_APP_APP_NAME:-/}
  64. VUE_APP_TENANT_ENABLE=${VUE_APP_TENANT_ENABLE:-true}
  65. VUE_APP_CAPTCHA_ENABLE=${VUE_APP_CAPTCHA_ENABLE:-true}
  66. VUE_APP_DOC_ENABLE=${VUE_APP_DOC_ENABLE:-true}
  67. VUE_APP_BAIDU_CODE=${VUE_APP_BAIDU_CODE:-fadc1bd5db1a1d6f581df60a1807f8ab}
  68. image: yudao-admin
  69. ports:
  70. - 8080:80
  71. networks:
  72. - yudao-network
  73. depends_on:
  74. - server
  75. networks:
  76. yudao-network:
  77. driver: bridge
  78. volumes:
  79. mysql:
  80. driver: local