Skip to content

AyvazovAleksandr/docker-laravel-environment

Repository files navigation

Черновик

Устанока последней 8 версии

docker-compose -f .\docker-compose.dev.yml run --rm composer create-project laravel/laravel=8.6.11 .

Сборка для работы Laravel в Docker

Список сервисов

  • nginx
  • mysql
  • phpmyadmin
  • php
  • composer
  • npm
  • artisan

Порты

Порты используемые в проекте:

Сервис Порт
nginx 80 (внешний)
nginx 443 (внешний)
phpmyadmin 8081 (внешний)
mysql 3306 (внутренний)
php 9000 (внутренний)
xdebug (только в dev) 9001 (внешний)
redis 6379 (внутренний)

Как работать

Для начала убедитесь, что у вас есть Docker installed в вашей системе и Docker Compose, а затем клонировать этот репозиторий.

  1. Клонировать этот проект:

    git clone https://github.com/AyvazovAleksandr/docker-laravel-environment.git
  2. Внутри каталога docker-laravel-environment создать файл .env для создания докера с помощью следующей команды:

    cp .env.example .env
  3. Вам нужно Создать или Скопировать ваш проект в папку www

  4. Соберите проект с помощью следующих команд:

    docker-compose -f docker-compose.dev.yml up -d --build

Помните

Конфигурация базы данных должно быть одинаково с обеих сторон .

# .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password
DB_ROOT_PASSWORD=secret
# source/.env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password

Единственным изменением является DB_HOST в source/.env где вызывается контейнер mysql:

# source/.env
DB_HOST=mysql

Особые случаи

В примерах указывается dev среда.

В проекте есть три среды:

  • PROD docker-compose.prod.yml
  • BETA docker-compose.beta.yml
  • DEV docker-compose.dev.yml

Установка нового проекта (в примере устанавливаем версию Laravel 8.6.11)

docker-compose -f docker-compose.dev.yml run --rm composer create-project laravel/laravel=8.6.11 .

Установить библиотеки из Composer

docker-compose -f docker-compose.dev.yml run --rm composer install

Установить библиотеки с Node

docker-compose -f docker-compose.dev.yml run --rm npm install

Чтобы отключить и удалить тома, мы используем следующую команду:

docker-compose -f docker-compose.dev.yml down -v

Обновить композитор:

docker-compose -f docker-compose.dev.yml run --rm composer update

Запустить компилятор (Webpack.mix.js) или показать компилятор представления в узле:

docker-compose -f docker-compose.dev.yml run --rm npm run dev

Выполнить все миграции:

docker-compose -f docker-compose.dev.yml run --rm artisan migrate

Очистка кэша проекта

docker-compose -f docker-compose.dev.yml run --rm artisan clear:data
docker-compose -f docker-compose.dev.yml run --rm artisan cache:clear
docker-compose -f docker-compose.dev.yml run --rm artisan view:clear
docker-compose -f docker-compose.dev.yml run --rm artisan route:clear
docker-compose -f docker-compose.dev.yml run --rm artisan clear-compiled
docker-compose -f docker-compose.dev.yml run --rm artisan config:cache
docker-compose -f docker-compose.dev.yml run --rm artisan storage:link

Надо обязательно сделать после первого запуска нового проекта

Сгенерировать ключи

docker-compose run --rm artisan key:generate

Запустить миграции с данными

docker-compose -f docker-compose.dev.yml run --rm artisan migrate --seed

Запуск паспорта (необязательно)

docker-compose -f docker-compose.dev.yml run --rm artisan passport:install



About

Docker environment for the ssuccess project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published