Шаблон для начальной настройки / разработки проектов на PHP 8.3 внутри Docker-контейнера. Вам не потребуется устанавливать программное обеспечение, необходимое для разработки серверной части на локальной машине. Всё что нужно - это наличие установленного Git и Docker.
- Контейнер для разработки серверного приложения: PHP 8.3 + Composer, Git, Curl и т. д. (≈ 741MB).
- Контейнер с БД PostgreSQL 15 (≈ 279MB).
- Контейнер с веб-сервером Caddy (≈ 49.1MB).
Суммарный вес стека ≈ 1GB.
1. Склонируйте репозиторий и перейдите в папку проекта.
git clone git@github.com:kublahanov/php83-sandbox.git
cd php83-sandboxВ папке .local есть несколько полезных скриптов для управления проектом.
- start_local.sh - скрипт для сборки и запуска контейнеров.
- stop_local.sh - скрипт для остановки и удаления контейнеров.
- stop_local_minus_v.sh - скрипт для остановки и удаления контейнеров и томов.
- remove_images.sh - скрипт для удаления всех созданных в проекте Docker-образов.
- remove_volumes.sh - скрипт для удаления всех созданных в проекте Docker-томов.
- chown.sh - скрипт для изменения владельца и группы всех файлов в проекте на текущего пользователя и группу.
2. Запустите контейнеры c помощью скрипта "start_local.sh".
Перед запуском контейнеров, в папке .local нужно установить необходимые права на исполняемые скрипты:
sudo chown -R $USER:$USER ./.local
chmod +x ./.local/*.shЕсли обе команды выполнились успешно - можно запустить контейнеры следующей командой:
./.local/start_local.sh3. В случае успешного запуска контейнеров, вы можете проверить их статус.
Например, работоспособность PHP:
docker exec php83_sandbox_app php -v 4. Далее вы можете приступить к первичной настройке вашего PHP-приложения.
- Ваш проект должен находиться в папке
src. - Веб-сервер Caddy будет обслуживать ваш проект по адресу
https://localhost. - Внимание! После настройки проекта (и подбора необходимой для него конфигурации docker-compose.yml) - перенесите его в отдельный Git-репозиторий. Содержимое, и все изменения в папке src в текущем Git-репозитории не фиксируются, т. к. в соответствии с назначением проекта - это только песочница для первичной настройки.
Есть два основных способа запуска Docker‑окружения:
- Docker Desktop + WSL2 (рекомендуемый вариант): обеспечивает лучшую производительность и совместимость с Linux‑контейнерами.
- Docker Desktop на Windows (без WSL): может вызывать проблемы с правами файлов и символическими ссылками.
Совет: Если вы только начинаете, установите WSL2 и используйте его - это минимизирует проблемы с правами и производительностью.