docker-compose.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. version: '3.8'
  2. services:
  3. crawler-mysql:
  4. image: mysql:8.0.39
  5. container_name: y_tender-crawler-mysql
  6. environment:
  7. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  8. - MYSQL_DATABASE=${MYSQL_DATABASE}
  9. - MYSQL_USER=${MYSQL_USER}
  10. - MYSQL_PASSWORD=${MYSQL_PASSWORD}
  11. - TZ=Asia/Shanghai
  12. # - MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password
  13. volumes:
  14. - /home/docker/tender-crawler_v2/mysql/log:/var/log/mysql
  15. - /home/docker/tender-crawler_v2/mysql/data:/var/lib/mysql
  16. - /etc/localtime:/etc/localtime:ro
  17. - /home/docker/tender-crawler_v2/app/init.sql:/docker-entrypoint-initdb.d/init.sql # 挂载 init.sql 文件
  18. # - ./.dev/mysql5.7/log:/var/log/mysql
  19. # - ./.dev/mysql5.7/data:/var/lib/mysql
  20. # - ./.dev/mysql8.0.39/log:/var/log/mysql
  21. # - ./.dev/mysql8.0.39/data:/var/lib/mysql
  22. # - ./init.sql:/docker-entrypoint-initdb.d/init.sql
  23. ports:
  24. - '${MYSQL_PORT}:3306'
  25. networks:
  26. - crawler-net
  27. restart: always
  28. crawler-selenium:
  29. image: selenium/standalone-chrome:latest
  30. container_name: y_selenium
  31. environment:
  32. - shm-size:"2g"
  33. ports:
  34. - '${SELENIUM_CHROME_PORT}:4444'
  35. - '5900:5900'
  36. networks:
  37. - crawler-net
  38. restart: always
  39. crawler-app:
  40. build: .
  41. image: y_tender-crawler-app:2.1.0
  42. container_name: y_tender-crawler-app
  43. depends_on:
  44. - crawler-mysql
  45. - crawler-selenium
  46. environment:
  47. - TZ=Asia/Shanghai
  48. - APP_MYSQL__HOST=y_tender-crawler-mysql
  49. - APP_MYSQL__PORT=3306
  50. - APP_MYSQL__DB=${MYSQL_DATABASE}
  51. - APP_MYSQL__USER=${MYSQL_USER}
  52. - APP_MYSQL__PASSWORD=${MYSQL_PASSWORD}
  53. # - APP_AI__KEY=
  54. # - APP_AI__URL=http://192.168.0.109:7580/api/chat
  55. # - APP_AI__MODEL=qwen2.5:7b
  56. - APP_LOGGER__LEVEL=DEBUG
  57. - APP_JOB__COLLECT=20:00,12:00
  58. - APP_JOB__PROCESS=23:00,4:00,13:00
  59. - APP_JOB__SEND_EMAIL=08:20,14:00
  60. - APP_JOB__RUN_NOW=1
  61. - APP_SELENIUM__REMOTE_DRIVER_URL=http://y_selenium:4444/wd/hub
  62. volumes:
  63. - /home/docker/tender-crawler_v2/app/config.yml:/app/config.yml
  64. - /home/docker/tender-crawler_v2/app/logs:/app/logs
  65. - /home/docker/tender-crawler_v2/app/temp_files:/app/temp_files
  66. # - ./.dev/app/config.yml:/app/config.yml
  67. # - ./.dev/app/logs:/app/logs
  68. # - ./.dev/app/attaches:/app/attaches
  69. networks:
  70. - crawler-net
  71. # 如果需要暴露端口
  72. # ports:
  73. # - "8080:8080"
  74. restart: always
  75. networks:
  76. crawler-net:
  77. driver: bridge