Рубрики
Uncategorized

Настройка Lumen и MySQL С помощью Docker – Части I

Lumen от Laravel – это микро-фреймворк PHP для создания API и микросервисов. С помощью Lumen вы можете подключаться… Помеченный php, докер.

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”