docker-compose.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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.0.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_JOB__COLLECT=20:00,12:00
  57. - APP_JOB__PROCESS=23:00,4:00,13:00
  58. - APP_JOB__SEND_EMAIL=08:20,14:00
  59. - APP_JOB__RUN_NOW=1
  60. - APP_SELENIUM__REMOTE_DRIVER_URL=http://y_selenium:4444/wd/hub
  61. volumes:
  62. - /home/docker/tender-crawler_v2/app/config.yml:/app/config.yml
  63. - /home/docker/tender-crawler_v2/app/logs:/app/logs
  64. - /home/docker/tender-crawler_v2/app/attaches:/app/attaches
  65. # - ./.dev/app/config.yml:/app/config.yml
  66. # - ./.dev/app/logs:/app/logs
  67. # - ./.dev/app/attaches:/app/attaches
  68. networks:
  69. - crawler-net
  70. # 如果需要暴露端口
  71. # ports:
  72. # - "8080:8080"
  73. restart: always
  74. networks:
  75. crawler-net:
  76. driver: bridge