Основные команды для работы с Laravel @ Docker

#laravel, #docker
Основные команды для работы с Laravel @ Docker

Рассмотрим основные команды для artisan, docker и composer для тех случаев, когда проект на Laravel настраивается для запуска в Docker.

Напомню, что Docker - это виртуальная машина со своей ОС, в которой:

  • запускается веб-сервер, в нашем случае Apache, настроенный на работу с PHP,
  • сервер баз данных, в нашем случае mariadb
  • phpMyAdmin - визуальный редактор баз данных через веб-интерфейс

Composer - менеджер библиотек PHP, с помощью которого скачиваются библиотеки для фреймворка Laravel.

A artisan - скрип-утилита, запускающая встроенные в Laravel команды.

В качестве IDE рекомендуем использовать phpStorm.

Конфигурация Docker

По ссылкам приведены конфигурации для Docker, чтобы воспроизвести рабочую среду для проекта на Laravel. Предполагается, что данные два файла лежат в корне проекта.

  • docker-compose.yml - настройка контейнеров для Apache, mariadb, phpMyadmin (внутри файла приведены комментарии, что означает та или иная настройка)
  • Dockerfile - настройка PHP и его пакетов внутри веб-сервера

Команды для работы с Docker

При первом запуске проекта или при обновлении версии PHP и его настроек в файле Dockerfile запускаем:

docker-compose build - эта команда собирает контейнеры докера, скачивая необходимые пакеты для развертывания заданной среды из сети. Ее запускают при развертывании проекта или когда меняют конфигурацию внутри какого-нибудь контейнера (к примеру, версию PHP в веб-сервере, утилиты, библиотеки)

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

docker-compose up - после ее выполнения становятся доступны сайт и phpMyAdmin

Для подключения к терминалу гостевой ОС внутри докера в папку с сайтом используется следующая команда:

docker-compose exec web bash - внутри этого терминала мы запускаем команды для composer и artisan

Команды artisan

Предполагается, что вы запускаете эти команды, находясь внутри контейнера, выполнив команду: docker-compose exec web bash.

Если проект уже развернут и надо обновить его, то не лишним будет запуск команды:

php artisan migrate --seed - она выполнит недостающие миграции (изменит структуру бд под последнюю) и дозаполнит тестовыми данными базу

Команды composer

Предполагается, что вы запускаете эти команды, находясь внутри контейнера, выполнив команду: docker-compose exec web bash.

Также команды ниже рассчитаны на то, что используется локальный композер, лежащий в корне проекта. Скачать его можно по инструкции с офиицального сайта (выполнив 4 команды в терминале).

При развертывании проекта на локальном компьютере запускается команда:

php composer.phar install - она заполняет папку vendor нужными (прописанными в composer.lock) библиотеками PHP. Также эта команда запускается, если в проект была добавлена новая библиотека или изменены уже имеющиеся.

Если после выполнения git pull проект падает с ошибкой, что не может найти какого-то класса, то скорее всего другим разработчиком был добавлен новый класс, который надо добавить в автозагрузку, для этого надо выполнить команду

php composer.phar dump-autoload - она обновит список классов для автозагрузки.

Количество просмотров: 771

Автор статьи: Екатерина Шушкевич.

Руководитель проектов, технический директор, практикующий разработчик, преподаватель. Опыт в WEB-разработке — более 10 лет.

Поделиться в соцсетях:

Статьи по теме