Основное внимание в этом руководстве уделяется подготовке проекта 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 на вашем компьютере.
- Установите последнюю версию Docker (https://docs.docker.com/docker-for-windows/install/) и включите WSL2 (https://docs.microsoft.com/en-us/windows/wsl/ install-win10 ).
- Перейдите из панели поиска 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.