← Назад к статьям

Деплой Laravel в Docker

Деплой Laravel в Docker

21.09.2026

Деплой Laravel в Docker

Структура проекта

version: '3.8'
services:
  app:
    build: ./docker/php
    volumes:
      - .:/var/www/html
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./docker/nginx:/etc/nginx/conf.d
      - .:/var/www/html
  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: laravel
  redis:
    image: redis:alpine
  queue:
    build: ./docker/php
    command: php artisan queue:work
  scheduler:
    build: ./docker/php
    command: sh -c "while true; do php artisan schedule:run; sleep 60; done"

Важные моменты

  • Используйте переменные окружения (.env).
  • Не храните секреты в образе.
  • Настройте volumes для persistent данных.
  • Используйте healthchecks.
  • Настройте бэкапы базы отдельным контейнером или скриптом.