Lumen от Laravel – это микро-фреймворк PHP для создания API и микросервисов. С Lumen вы можете наслаждаться надежной средой разработки, которая содержит множество основных функций Laravel, таких как интерфейс командной строки artisan, маршрутизация, промежуточное программное обеспечение, миграции, красноречивый ORM и многое другое.
В этом уроке мы установим Lumen с помощью Composer, контейнеризируем наше приложение Lumen + MySQL с помощью Docker и рассмотрим некоторые примеры взаимодействия с нашим докеризованным проектом Lumen. В первой части этого урока мы сосредоточимся на установке нашего приложения Lumen и его запуске с помощью Docker.
Установите Lumen с помощью Composer
Во-первых, убедитесь, что у вас установлен Composer, выполнив следующую команду в вашем терминале:
composer -v # or composer --version
Установите Люмен, запустив:
composer create-project --prefer-dist laravel/lumen lumen-app
Теперь, если все пойдет хорошо, ваш проект Lumen был успешно создан внутри /пути/к/вашему/lumen-приложению/ и вы можете cd добавить в свой проект. Теперь запустите свой проект Lumen, выполнив следующую команду PHP в корневом каталоге вашего проекта:
php -S localhost:8000 -t public
Посетите localhost: 8000 или используйте что-то вроде Postman, чтобы убедиться, что вы получили ответ 200.
Настройка докера
Во-первых, убедитесь, что у вас установлен и запущен Docker:
docker -v # or docker --version
Мы создадим файл docker-compose.yml , поэтому вам нужно убедиться, что у вас включен | установлен docker-compose |/. Если вы используете Docker Desktop для Windows или Mac, у вас, вероятно, уже установлен и запущен docker-compose . В любом случае проверьте доступность команды docker-compose с помощью:
docker-compose -v # or docker-compose --version
Теперь давайте закрепим наше приложение с помощью файла Dockerfile и файла docker-compose.yml .
Докерфайл
Создайте файл с именем Dockerfile в корневом каталоге вашего проекта:
FROM php:7.3-fpm-alpine
WORKDIR /var/www/html/
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer
COPY . .
RUN composer install
В нашем файле Dockerfile мы настроили наш контейнер на запуск PHP 7.3. Затем установите Composer, скопируйте все файлы нашего проекта в контейнер и завершите, запустив composer install для установки зависимостей Lumen.
Затем установите Composer, скопируйте все файлы нашего проекта в контейнер и завершите, запустив || composer install || для установки зависимостей Lumen.
Теперь создайте файл docker-compose.yml в корневом каталоге вашего проекта:
version: '3.5'
services:
lumen:
ports:
- "8000:8000"
volumes:
- .:/var/www/html
- /var/www/html/vendor/
build: .
command: php -S lumen:8000 -t public
restart: always
Перед созданием и запуском нашего проекта Lumen в Docker полезно убедиться, что порт 8000 вашего компьютера свободен для использования. Вы можете проверить это, запустив:
docker ps
Если один из ваших контейнеров docker прослушивает 8000, остановите/уничтожьте этот контейнер или измените настройки порта в вашем файле docker-compose.yml .
Теперь вы можете удалить папку /поставщик/ из каталога вашего проекта и запустить:
docker-compose up --build
Теперь вы можете посетить localhost:8000 и начать создавать удивительный API/микросервис!
В следующей части этого урока мы добавим MySQL как сервис в наш файл docker-compose.yml и начнем взаимодействовать с нашим докеризованным приложением.
Вот ссылка на репозиторий GitHub для этого урока:
👉 https://github.com/yossi-abramov/lumen-mysql-docker
✍ Для получения дополнительных сообщений: https://yossiabramov.com/
Оригинал: “https://dev.to/yossiabramov/setting-up-lumen-and-mysql-with-docker-part-i-514c”