Как создать проект laravel + docker на windows?

Для создания проекта Laravel с использованием Docker на Windows, вам понадобится выполнить несколько шагов. Прежде чем начать, убедитесь, что Docker уже установлен и запущен на вашем компьютере.

Шаг 1: Установка Laravel

Для начала нужно установить сам фреймворк Laravel. Откройте командную строку (Command Prompt) и выполните следующую команду:

composer global require laravel/installer

После установки можно проверить, что Laravel установлен правильно, выполнив следующую команду:

laravel --version

Шаг 2: Создание проекта Laravel

Теперь создайте новый проект Laravel, выполнив команду:

laravel new project-name

Здесь project-name - это имя вашего проекта, вы можете выбрать любое удобное для вас имя.

Шаг 3: Создание Docker-контейнера

Далее создайте Docker-контейнер для вашего проекта. Создайте новую папку, где будет располагаться ваш проект, и перейдите в нее в командной строке.

Затем создайте файл с именем Dockerfile в этой папке и откройте его в текстовом редакторе. Вставьте следующий код:

FROM php:7.4-apache

# Установка необходимых пакетов
RUN apt-get update && apt-get install -y 
    git 
    curl 
    libpng-dev 
    libonig-dev 
    libxml2-dev 
    zip 
    unzip

# Установка расширений PHP
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# Установка Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Установка Node.js и NPM
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get install -y nodejs

# Копирование и установка зависимостей проекта
COPY . /var/www/html
RUN composer install

# Права доступа на папку хранения кеша
RUN chown -R www-data:www-data /var/www/html/storage

# Установка правил .htaccess
RUN a2enmod rewrite

# Открытие нужного порта
EXPOSE 80

Сохраните Dockerfile. Дальше создайте файл с именем docker-compose.yml и откройте его в текстовом редакторе. Вставьте следующий код:

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8000:80
    volumes:
      - ./:/var/www/html
    depends_on:
      - db
  db:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: laravel
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_PASSWORD: secret
      MYSQL_USER: laravel
    volumes:
      - mysql-data:/var/lib/mysql
volumes:
  mysql-data:

Сохраните docker-compose.yml. Теперь у вас есть настроенный проект Laravel и Docker-контейнер для него.

Шаг 4: Запуск Docker-контейнера

Откройте командную строку и перейдите в папку вашего проекта. Затем выполните следующую команду:

docker-compose up -d

Команда docker-compose up -d запустит Docker-контейнеры в фоновом режиме. Для остановки контейнеров выполните команду:

docker-compose down

Теперь ваш проект Laravel запущен в Docker-контейнере на Windows. Вы можете открыть его в браузере, перейдя по адресу http://localhost:8000.