docker-compose.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. version: "3.7"
  2. services:
  3. traefik:
  4. image: traefik:v2.1
  5. command: --api.insecure=true --providers.docker
  6. ports:
  7. - "80:80"
  8. - "8080:8080"
  9. volumes:
  10. - /var/run/docker.sock:/var/run/docker.sock
  11. mysql:
  12. image: baijunyao/mysql:8.0
  13. container_name: laravel-bjyblog-mysql
  14. environment:
  15. - MYSQL_ROOT_PASSWORD=laravel_bjyblog
  16. - MYSQL_DATABASE=laravel_bjyblog
  17. - MYSQL_USER=root
  18. - MYSQL_PASSWORD=laravel_bjyblog
  19. volumes:
  20. - mysql:/var/lib/mysql
  21. labels:
  22. - traefik.enable=false
  23. redis:
  24. image: redis:5
  25. container_name: laravel-bjyblog-redis
  26. labels:
  27. - traefik.enable=false
  28. nginx:
  29. image: baijunyao/nginx:1.19
  30. container_name: laravel-bjyblog-nginx
  31. volumes:
  32. - .:/app
  33. - ./deploy/docker/nginx/laravel-bjyblog.conf:/etc/nginx/conf.d/laravel-bjyblog.conf
  34. labels:
  35. - traefik.port=80
  36. - "traefik.http.routers.laravel-bjyblog-nginx.rule=Host(`laravel-bjyblog.test`)"
  37. environment:
  38. FASTCGI_PASS: php:9000
  39. DOCUMENT_ROOT: /app/public
  40. php:
  41. image: baijunyao/php:8.1-${APP_ENV}
  42. container_name: laravel-bjyblog-php
  43. tty: true
  44. volumes:
  45. - .:/app
  46. - ~/.composer:/root/.composer
  47. environment:
  48. REDIS_HOST: redis
  49. DB_HOST: mysql
  50. labels:
  51. - traefik.enable=false
  52. elasticsearch:
  53. image: baijunyao/elasticsearch:7.6
  54. container_name: laravel-bjyblog-elasticsearch
  55. environment:
  56. - discovery.type=single-node
  57. volumes:
  58. mysql: