1. YCLIENTS
  2. Маркетплейс интеграций
  3. Плагинизация
  4. Руководство по созданию Backend плагина
  5. Структура проекта плагина Docker

Структура проекта плагина Docker


Документация описывает основные Docker-сервисы и их роли в проекте YCLIENTS, построенном на Symfony 7.2.


Docker Compose: обзор

Файл docker-compose.yml содержит три ключевых сервиса:

  • PHP-приложение.
  • СУБД MySQL.
  • СУБД Redis.

Каждый сервис приведен ниже с основными настройками и комментариями.


Сервисы

1. php

  • Образ и сборка
    • image: ${APP_NAME}:latest
    • build: context . / Dockerfile, target dev
    • platform: linux/amd64
  • Контейнер
    • name & hostname: ${APP_NAME}
    • рабочая директория: /service
  • Порты
    • 8080:8080 — HTTP-сервер
    • 9000:9000 — XDebug
  • Томы
    • ./:/service — синхронизация кода
  • Переменные окружения
    • подключение к БД и Redis берется из .env
    • PHP_IDE_CONFIG для удаленной отладки
    • XDEBUG_TRIGGER для локального профилирования
  • Зависимости
    • depends_on: mysql, redis

2. mysql

  • Образ
    • mysql:${DB_SERVER_VERSION}
  • Переменные окружения
    • MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD из .env
  • Том
    • mysql_data:/var/lib/mysql — постоянное хранение данных
  • Порты
    • ${DB_PORT}:${DB_PORT}

3. redis

  • Образ
    • redis:6-alpine
  • Команда старта
    • redis-server --requirepass "${REDIS_PASSWORD}" --port "${REDIS_PORT}" --databases "${REDIS_DB}"
  • Том
    • redis_data:/data
  • Порты
    • ${REDIS_PORT}:${REDIS_PORT}

Volumes

  • mysql_data — хранилище данных MySQL.
  • redis_data — хранилище данных Redis.
Предыдущая статья Быстрый старт для разработки PHP-плагинов
Следующая статья Типовая структура плагина на Symfony