- Создать папку
mkdir srcи склонировать существующий проект в папку. - Переименовать
cp .env.example .env. Установить нужные переменные окружения - Переименовать
cp src/.env.example src/.env. Установить нужные переменные окружения - Запустить
bin/start - Выполнить
bin/composer install - Выполнить
bin/composer artisan key:generate - Выполнить
bin/artisan migrate --seed - Выполнить
bin/artisan ide-helper:generate - Выполнить
bin/npm install - Выполнить остальные команды вашего проекта
- Писать код :)
Запуск artisan-команд в контейнере bin/artisan command-name
- Склонировать репозиторий
git clone https://github.com/amufazalov/laravel-docker.git - Создать папку
mkdir src - Выполнить команду
bin/install - Писать код :)
| Environment variable | Description | Default |
|---|---|---|
| MYSQL_HOSTNAME | MySQL hostname | db |
| MYSQL_USERNAME | MySQL username | root |
| MYSQL_ROOT_PASSWORD | MySQL password | root |
| MYSQL_DATABASE | MySQL database | laravel |
| REDIS_HOST | Redis | redis |
| VIRTUAL_HOST | Доменное имя | project.test |
| VIRTUAL_PORT | Порт | 80 |
| SERVER_SSL | Использование ssl (on/off) | off |
| USER_HOME | Home dir юзера в контейнере | /var/www/laravel |
| SERVER_ROOT | Директория с кодом в контейнере | /var/www/laravel/src |
| PHP_MEMORY_LIMIT | Memory limit для php-fpm | 2G |
Данные переменные окружения выставляются для docker-инфраструктуры.
Их можно использовать в переменных окружениях laravel в src/.env файле.
Например:
...
DB_CONNECTION=mysql
DB_HOST="${MYSQL_HOSTNAME}"
DB_PORT=3306
DB_DATABASE="${MYSQL_DATABASE}"
DB_USERNAME=root
DB_PASSWORD="${MYSQL_ROOT_PASSWORD}"
REDIS_HOST="${REDIS_HOST}"
...
- Перевести приложение в режим обслуживания
bin/artisan down - Получить изменения (в папке,
src)git pull origin master - Выполнить
bin/composer install --no-dev --no-interaction --optimize-autoloader - Выполнить
bin/artisan optimize:clear - Выполнить
bin/artisan view:clear - Выполнить
bin/artisan migrate - Вывести приложение из режима обслуживания
bin/artisan up
В папке docker лежит makefile и исходные данные образов.
Можно конфигурировать как душе угодно, а затем запустить make build.
Данна команда создаст обновленные образы на ваше локальной машине.
Необходимы права на исполнение
bin/install- Загрузка и установка laravel последней версии с помощью композера.bin/log- Просмотр логов (bin/log <container_name>)bin/npm- Работа с npm менеджером (bin/npm install)bin/start- запуск контейнеровbin/stop- остановка контейнеровbin/down- уничтожение контейнеровbin/db-backup- создание дампа текущей БД проектаdump.sqlв папкеbackupbin/db-recreate- создание чистой БДbin/db-restore- импортирует БДdump.sqlиз папкиbackup. И заменяет базовый url на MAGENTO_BASE_URLbin/composer- работа с композеромbin/x-debug- вкл / выкл XDebug. Меняет значение переменной PHP_ENABLE_XDEBUG на противоположное и перезапускает контейнеры.