Основное внимание в этом руководстве уделяется подготовке проекта Laravel, в котором уже настроен Laravel Sail, собственная среда Docker для Laravel, поэтому вы можете развернуть проект через Docker в Windows.

Чтение официального Руководства по Laravel Sail поможет, когда вы застрянете, даже если оно немного длинное и содержит много дополнительной информации, которая может сбить с толку новичка. Если вы хотите добавить Docker в свой новый проект Laravel или начать проект парусного Laravel, прочтите полное руководство сверху, это довольно просто.

В этих проектах уже настроен Sail, и вы можете выбрать использование Php 8.0 или 7.4, а также MySQL 8 или другие версии после их настройки в файле docker-compose.yml в корневом каталоге проекта.

Я установлю приложение в дистрибутиве WSL2. из Ubuntu 20.04. Вам не нужен предыдущий опыт работы с Docker, чтобы следовать этому руководству.

Репозиторий проекта, который я использовал, приведен ниже (вы можете использовать свой собственный проект Laravel или форк нашего и попробовать его).
https://github.com/achala87/webuildlk. The project helps people setup rating systems for service providers, add history timelines,
blogs and information pages as well has a dashboard for sharing statistics on nations or organizations. It’s basically a civic action platform but you can use it creatively, quite easily for even a business application or web-app.). You are welcome to add a PR and join in. You can see the app in production here www.buildlk.com.

Другой проект, к которому я добавил Sail, - это национальная экологическая платформа neplk.com.

Преимущества использования Docker для вашего программного проекта Laravel

Docker помогает командам работать над системами, упрощая и упрощая настройку проектов. Особенно, если вы работаете над несколькими системами одновременно, поскольку в противном случае невозможно поддерживать версии зависимостей разработки и tech. стеки для разных проектов в одной среде. А такие системы, как VMware или двойная загрузка, болезненны, по крайней мере, более болезненны, чем Docker.

Docker создает контейнер в вашей среде Docker и запускает зависимости проектов с помощью образа докер-машины. В Windows новые сборки поддерживают WSL / WSL2, что позволяет Windows размещать подсистемы Linux, которые Docker может использовать для запуска ваших систем докеров.

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

Шаг 1. Предварительные требования: установка Docker и Ubuntu 20.04 на WSL2 на вашем компьютере.

  1. Установите последнюю версию Docker (https://docs.docker.com/docker-for-windows/install/) и включите WSL2 (https://docs.microsoft.com/en-us/windows/wsl/ install-win10 ).
  2. Перейдите из панели поиска Windows в магазин Microsoft (https://aka.ms/wslstore) и найдите понравившийся вам дистрибутив Ubuntu, то есть Ubuntu 20.04, и установите его.

Шаг 2. Подключение Docker к образу Ubuntu 20.04

Откройте приложение Docker, перейдите в настройки, затем «Ресурсы» и переключите образ Ubuntu 20.04 во включенное состояние. И теперь ваши докеры-контейнеры могут использовать дистрибутив Ubuntu для монтирования проекта.

Шаг 3 - Внедрение вашего проекта.

Откройте консоль Ubuntu 20.04 из своей ОС Windows и клонируйте проект, он вытягивает репозиторий проекта в домашний каталог образа Ubuntu. Если вы используете визуальный инструмент, такой как рабочий стол GitHub, это тоже будет довольно легко.

$ git clone https://github.com/achala87/webuildlk.git

Вы можете быстро открыть корневой каталог wsl, в котором находятся образы Linux, выполнив следующую команду в строке навигации проводника папок.

 \\wsl$\

Если вы хотите открыть и увидеть корневую папку Ubuntu 20.04 прямо из консоли Ubuntu 20.04, используя следующую команду.

explorer.exe .

Вы можете открыть свой любимый инструмент кодирования и код, запустив следующий код из консоли Ubuntu 20.04.

code .

Шаг 4. Файл docker-compose.yml вашего проекта - для чего он нужен?

Затем откройте файл docker-compose.yml в корне вашего приложения.

Он ссылается на файлы внутри папки / vendor и определяет версии служб, которые должен загружать ваш контейнер докеров. В основном здесь вы можете изменить версии PHP и MySQL. Я обычно устанавливаю их на PHP 8 и MySQl 8.

Так что помните, что это файл, который вы не передаете в апстрим, поскольку он специфичен для вашего дистрибутива. Как и файл .env.

Https://docs.docker.com/compose/, чтобы узнать больше о функции docker-compose.

Шаг 4 - Установка пакетов композитора

Проект состоит из composer.json, в котором перечислены зависимости вашего проекта. Для запуска Sail и других требований, которые обычно устанавливают эти пакеты в вашу папку / vendor. Узнать больше о композиторе здесь.

Скопируйте и вставьте следующую команду в консоль Ubuntu 20.04 и нажмите Enter. Он запустит образ докеры с PHP 8 и композитором для запуска установки композитора.

docker run — rm \
 -u “$(id -u):$(id -g)” \
 -v $(pwd):/opt \
 -w /opt \
 laravelsail/php80-composer:latest \
 composer install — ignore-platform-reqs

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

docker run — rm \
 -u “$(id -u):$(id -g)” \
 -v $(pwd):/opt \
 -w /opt \
 laravelsail/php80-composer:latest \
 composer update — ignore-platform-reqs

Затем рекомендуется использовать composer dump-autoload для обновления ваших пакетов на vendor / autoload.php.

docker run — rm \
 -u “$(id -u):$(id -g)” \
 -v $(pwd):/opt \
 -w /opt \
 laravelsail/php80-composer:latest \
 composer dump-autoload — ignore-platform-reqs

После этого вам, возможно, придется переименовать .env.example в .env.

При необходимости введите значения .env и сохраните их. Если на более позднем этапе Laravel пожалуется, что нет ключа, вам придется запустить: php artisan key:generate

docker run — rm \
 -u “$(id -u):$(id -g)” \
 -v $(pwd):/opt \
 -w /opt \
 laravelsail/php80-composer:latest \
 php artisan key:generate — ignore-platform-reqs

Шаг 5 - Добавьте псевдоним для sail в .bashrc внутри ubuntu home пользователя

Затем я также добавил псевдоним для команды ./vendor/sail/up внутри Ubuntu 20.04, чтобы ее было проще использовать, чем более длинную команду, необходимую для выполнения команд паруса, таких как включение контейнера.

Перейдите в корень вашей среды Ubuntu.
Запустите vim ~/.bashrc

найдите раздел alaises, добавьте следующую строку и сохраните файл.
alias sail=’./vendor/bin/sail’

затем :wq для сохранения и выхода из редактора файлов (.bashrc).

Шаг 6 - Запустите контейнер Docker и посмотрите, как работает ваш проект.

Перейдите в каталог вашего проекта (cd projectName) и запустите Sail up из консоли Ubuntu. Помните, что все ваши команды запускаются из этой командной оболочки.

Контейнер должен запуститься, и вы увидите контейнер и службы на рабочем столе докера. Вы можете получить доступ к своему проекту с помощью значков на рабочем столе Docker ниже или непосредственно с URL-адреса браузера: порт.

Шаг 7 - Подключение к вашей базе данных.

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

Если в вашем проекте используется MySQL, вы можете использовать такой инструмент, как MySQL Workbench.

Откройте рабочий стол и используйте учетные данные из файла .env. Вы должны иметь возможность войти в систему.

Я использовал следующее.

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=buildlk
DB_USERNAME=root
DB_PASSWORD=

Это важно, вы должны создать базу данных для запуска миграции вручную, войдя в базу данных mysql через MySQL Workbench. Убедитесь, что имя базы данных совпадает с именем, указанным в файле .env.

Затем запустите терминал, который вы открываете внутри своего проекта в vscode / на терминале ubuntu (убедитесь, что у вас есть компакт-диск внутри вашего проекта)

1. sail php artisan migrate
2. sail php artisan key:generate
3. sail php artisan db:seed         #only if your project has seeding data

H3: Запуск команд Artisan и других пакетов

Для запуска команд artisan, composer и npm сначала должен стоять псевдоним sail.

Вместо:
php artisan migrate

Вам следует:
sail artisan migrate

Миграции и сидеры баз данных

В вашем проекте должны быть миграции баз данных и сеялки данных, которые помогут вам начать работу. Файл .readme вашего проекта обычно подскажет, как это сделать. Миграция создает таблицы базы данных, а сидеры будут добавлять данные заполнения, чтобы вы могли войти в систему как пользователи и увидеть данные, заполненные в вашем приложении.

Здесь также приведены другие полезные команды, которые помогут вам в программировании.

docker ps — all: показывает все контейнеры в системе. Некоторое время вам нужно удалить более ранние версии, если что-то не работает должным образом.

docker container rm YOUR_CONTAINER_ID: удалить контейнер.

docker-compose down -v: останавливает контейнеры и удаляет контейнеры, сети, тома и образы, созданные с помощью up.

docker-compose up -d: команда docker-compose up объединяет выходные данные каждого контейнера.

php artisan config:cache and php artisan cache:clear: очищает кеш конфигурации в Laravel.

  • Свои личные мысли автор публикует на meddegama.com.
  • К # code4lk присоединяйтесь к buildlk.com.
  • Чтобы присоединиться к лесовосстановлению, зайдите на reforestsrilanka.com.