docker-compose.yaml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 && \
  70. ip route del default && \
  71. ip route add default via 172.17.0.1 && \
  72. /start-your-app-command"
  73. privileged: true
  74. networks:
  75. campus-net:
  76. driver: bridge
  77. ipam:
  78. config:
  79. - subnet: 172.22.0.0/16
  80. gateway: 172.22.0.1
  81. imaotai:
  82. external: true