docker-compose.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. version: '3'
  2. services:
  3. mysql:
  4. image: mysql:5.7
  5. container_name: mysql
  6. environment:
  7. MYSQL_ROOT_PASSWORD: 123456789
  8. MYSQL_DATABASE: 'campus_imaotai'
  9. TZ: Asia/Shanghai
  10. volumes:
  11. - ./mysql/data/:/var/lib/mysql/
  12. - ./mysql/conf/:/etc/mysql/conf.d/
  13. - ./mysql/logs:/logs
  14. - ./mysql/campus_imaotai.sql:/docker-entrypoint-initdb.d/campus_imaotai.sql
  15. command: [
  16. 'mysqld',
  17. '--innodb-buffer-pool-size=80M',
  18. '--character-set-server=utf8mb4',
  19. '--collation-server=utf8mb4_unicode_ci',
  20. '--default-time-zone=+8:00',
  21. '--lower-case-table-names=1'
  22. ]
  23. networks:
  24. - campus-net
  25. redis:
  26. image: redis:6.2.12
  27. container_name: redis
  28. environment:
  29. TZ: Asia/Shanghai
  30. volumes:
  31. - ./redis/conf:/redis/config
  32. - ./redis/data/:/redis/data/
  33. command: "redis-server /redis/config/redis.conf"
  34. networks:
  35. - campus-net
  36. nginx-web:
  37. image: nginx:1.23.4
  38. container_name: nginx-web
  39. environment:
  40. TZ: Asia/Shanghai
  41. ports:
  42. - "880:80"
  43. volumes:
  44. - ./nginx/html:/usr/share/nginx/html
  45. - ./nginx/cert:/etc/nginx/cert
  46. - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
  47. - ./nginx/log:/var/log/nginx
  48. networks:
  49. - campus-net
  50. - imaotai
  51. campus-server:
  52. image: oddfar/campus-imaotai
  53. container_name: campus-imaotai
  54. environment:
  55. TZ: Asia/Shanghai
  56. SERVER_PORT: 8160
  57. spring.config.additional-location: /home/campus/conf/application-prod.yml
  58. ports:
  59. - "8160:8160"
  60. volumes:
  61. - ./server/conf:/home/campus/conf
  62. depends_on:
  63. - mysql
  64. - redis
  65. networks:
  66. - campus-net
  67. - imaotai
  68. entrypoint: /bin/sh -c "
  69. apt-get update && apt-get install -y iproute2; # 安装 iproute2
  70. ip route del default;
  71. ip route add 172.22.0.0/16 via 172.22.0.1;
  72. ip route add default via 172.20.0.1;
  73. /start-your-app-command
  74. "
  75. networks:
  76. campus-net:
  77. driver: bridge
  78. ipam:
  79. config:
  80. - subnet: 172.22.0.0/16
  81. gateway: 172.22.0.1
  82. #固定临时创建的网络范围和网关
  83. imaotai:
  84. external: true
  85. # If this is an external network that you've already created, no further IPAM config needed