- Создать папку
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
в папкеbackup
bin/db-recreate
- создание чистой БДbin/db-restore
- импортирует БДdump.sql
из папкиbackup
. И заменяет базовый url на MAGENTO_BASE_URLbin/composer
- работа с композеромbin/x-debug
- вкл / выкл XDebug. Меняет значение переменной PHP_ENABLE_XDEBUG на противоположное и перезапускает контейнеры.