РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcPhNgCd 15 of 30 menu
◀ ▶

Зависимости Composer в Docker

Зависимости Composer читаются из файла проекта и складываются в каталог vendor при сборке. Пустой блок require уже достаточен, чтобы команда создала структуру и зафиксировала автозагрузчик внутри образа.

В composer.json задают имя пакета app и пустой список библиотек:

{ "name": "app", "require": {} }

Dockerfile копирует манифест, ставит зависимости без вопросов в консоли и оставляет vendor в слое образа:

FROM php:8.5-fpm COPY --from=composer:2 /usr/bin/composer /usr/bin/composer COPY composer.json /app/composer.json WORKDIR /app RUN composer install --no-interaction

Сервис app собирается из этой папки. Файл compose.yaml:

services: app: build: .

После docker compose up с флагом сборки каталог vendor уже внутри образа, хотя на хосте его может не быть. Проверка наличия каталога:

docker compose up -d --build docker compose exec app test -d vendor && echo yes

Терминал печатает yes, если установка прошла. Список файлов в vendor не разбираем, фреймворки не подключаем - важен сам факт каталога после composer install.

Соберите сервис shop с именем пакета shop в composer.json без внешних библиотек, чтобы vendor появился только в образе.

Убедитесь изнутри контейнера, что каталог vendor существует, не перечисляя его содержимое.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить