Расширение PHP в Docker
Расширение PHP добавляют при сборке образа,
а не флагом при запуске контейнера.
Официальный шаблон FPM
не включает каждый модуль сразу:
нужные собирают командой
docker-php-ext-install
в Dockerfile,
и слой остаётся в образе
на все последующие запуски.
Для учебной проверки
хватит модуля bcmath
для работы с большими числами.
Это не драйвер базы данных
и не требует MySQL.
Шаблон сборки:
FROM php:8.5-fpm
RUN docker-php-ext-install bcmath
Сервис app
собирается из текущей папки.
Nginx и связка с портом
8080
здесь не обязательны -
достаточно пересобрать FPM
и спросить список модулей.
Файл compose.yaml:
services:
app:
build: .
Сборка и подъём в фоне подставят свежий образ. Проверка модуля:
docker compose up -d --build
docker compose exec app php -m
В выводе среди имён модулей
есть строка bcmath.
Полный список в урок
не копируем -
достаточно найти это имя
в терминале.
Соберите сервис math на php:8.5-fpm с модулем bcmath в образе и убедитесь, что он виден интерпретатору.
Запишите имя модуля, которого не было бы в чистом php:8.5-fpm без шага сборки.