Развертывание проекта на Laravel в Docker

#laravel, #docker
Развертывание проекта на Laravel в Docker

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

Предполагается, что у вас есть доступ к репозиторию git c исходным кодом проекта и вы его уже склонировали себе на компьютер. Первые команды запускаются в терминале (консоли) вашей основной ОС из папки скаченного проекта. Мы предпочитаем использвать терминал PhpStorm, в котором ведем разработку, т.к. этот терминал уже находится в нужной нам папке - корневой папке проекта.

Также данная инструкция рассчитана на то, что проект уже содержит готовые конфигурационные файлы для Docker.

По ссылке приведен пример, о каких файлах Докер идет речь. 

 

Запуск Docker

Для начала нам надо запустить сборку всех необходимых контейнеров Докер нашего приложения, чтобы потом пойти развертывать проект внутри сервиса web, в котором будет запущен веб-сервер.

Для запуска сборки образов существует команда docker-compose build , однако если сразу выполнить команду docker-compose up - она не только запустит окружение для нашего приложения, но также выполнит сборку образов, если их еще нет. Т.е. можно убить двух зайцев сразу выполнением команды с up.

Более подробное описание необходимых команд для работы с Докер.

Настройка Laravel

Далее нам надо собрать зависимости Laravel и настроить его окружение.

Для этого переходим в терминал веб-сервера, выполнив команду: docker-compose exec web bash

Теперь внутри этого терминала выполняем команду php composer.phar install - она скачает все зависимости для Laravel и выполнит скрипты из секции "post-install-cmd" файла "composer.json".

Далее нам нужно прописать настройки к БД в файле .env. Здесь важный момент, что DB_HOST=db. Где db - это имя сервиса с базой данных из файла docker-compose.yml. Имя базы, логин и пароль для ее пользователя также берутся из docker-compose.yml.

Воспроизведение структуры БД

Чтобы воспроизвести необходимую структуру таблиц в БД и заполнить их тестовыми данными, запускаем миграции и сиддинг с помощью артизана (тоже через консоль веб-сервера):

php artisan migrate --seed

Проверяем, что все работает

Осталось найти адрес сайта, по которому можно проверить работоспособность. Для этого есть два способа. 

Первый: посмотреть порт для localhost из файла docker-compose.yml. Он описан в секции сервиса web в настройке ports. К примеру, 8095:80 - где порт слева от двоеточия - и есть порт, по которому доступен сайт в host OS. Т.е. с таким значением портов сайт будет доступен по адресу: http://localhost:8095.

Второй способ: перейти най сайт через Docker Descktop, нажав на кнопку со скриншота ниже:

Как открыть сайт через Docker Desktop

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

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

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

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

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