Образ PHP-FPM в Docker
Образ PHP-FPM держит интерпретатор, который ждёт запросы от веб-сервера, а сам страницу в браузер не отдаёт. Процесс слушает сокет FastCGI и выполняет переданный путь к файлу, когда nginx или другой фронт передаст запрос.
Сервис app
берёт шаблон php:8.5-fpm.
Строку ports
для него не добавляем:
порт 9000
доступен только соседним сервисам
в сети compose.
Файл compose.yaml:
services:
app:
image: php:8.5-fpm
Подъём в фоне создаёт контейнер с долгоживущим процессом FPM. Проверку делают командой интерпретатора внутри уже запущенной копии. Запуск и проверка:
docker compose up -d
docker compose exec app php -r "echo 'hello';"
В терминале появится строка
hello -
интерпретатор внутри образа
работает так же,
как в разделе про встроенный сервер,
только ответ идёт в консоль,
а не в HTTP-страницу.
Опишите сервис worker на php:8.5-fpm без публикации портов и добейтесь печати слова ping изнутри контейнера.
Запишите это слово из вывода терминала.