docker-compose.prod.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. services:
  2. nextjs:
  3. container_name: match-vote-nextjs-nextjs-1
  4. build:
  5. context: .
  6. dockerfile: Dockerfile.prod
  7. args:
  8. - MONGODB_URI=mongodb://mongodb:27017/lvyin_db
  9. - JWT_SECRET=xg8mtRnRVTbrIhpNdI0tULmYQ9xhzfQ86Q9qwZQUqZ4fQ8behmzZLJkS5mkCNJak
  10. ports:
  11. - "3000:3000"
  12. environment:
  13. - NODE_ENV=production
  14. - MONGODB_URI=mongodb://mongodb:27017/lvyin_db
  15. - JWT_SECRET=xg8mtRnRVTbrIhpNdI0tULmYQ9xhzfQ86Q9qwZQUqZ4fQ8behmzZLJkS5mkCNJak
  16. # env_file:
  17. # - .env.production.docker
  18. depends_on:
  19. - mongodb
  20. restart: unless-stopped # 添加自动重启策略
  21. volumes:
  22. - uploads_data:/app/public/uploads
  23. mongodb:
  24. image: mongo
  25. volumes:
  26. - mongodb_data:/data/db
  27. restart: unless-stopped # 添加自动重启策略
  28. nginx:
  29. container_name: match-vote-nextjs-nginx-1
  30. image: nginx:alpine
  31. ports:
  32. - "8080:80"
  33. volumes:
  34. - ./nginx:/etc/nginx/conf.d
  35. - ./logs/nginx:/var/log/nginx
  36. - uploads_data:/app/public/uploads:ro
  37. - ./certs:/etc/nginx/certs
  38. depends_on:
  39. - nextjs
  40. restart: unless-stopped # 添加自动重启策略
  41. volumes:
  42. mongodb_data:
  43. uploads_data:
  44. networks:
  45. default:
  46. name: match-vote-network # 为网络指定一个名称