Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
Далее копируется composer из другого базового образа
composer selfupdate? как-то в composer/docker более интересные вещи происходят. Интересно куда кэш пойдет писать, зависимости в целом, php.ini для php-cli, к тому же можно выбрать php 7.1, а composer тянет последний PHP и т.д. со всем этим не будет проблем? Если тебе необходимо делать сборку frontend, то для этого лучше использовать другой контейнер и прокидывать в него директорию.
Для выполнения cli набираешь простую команду
docker-compose exec phpПроваливаешься внутрь запущенного контейнера и там уже выполняешь все необходимые тебе команды: composer install(update) yii и тд.
Про последнюю версию php, что-то в первые слышу. В системных требованиях getcomposer.org/doc/00-intro.md#system-requirements сказано, что достаточно и PHP 5.3.2
FROM php:7-alpine сегодня может проблем нет, но что будет завтра? Как пример composer начал собираться FROM php:8-*, используется новая мажорная версия самого композера, а мы перетаскиваем его в контейнер, где стоит php7?) да и джуны могут начать юзать такой подход там где совсем нельзя. Я к тому, что разные компоненты собираются в разных средах/окружениях: fpm собирается от одного (docker FROM), php-cli под другим (docker FROM), а composer может совсем под другим. Выходит кто-то собрался от php7.1-alpine, кто-то от php7.3-debian, а кто-то умудрился от php7.4-windows(?). Вот и думал, может все что связано с php собрать в один образ-контейнер, где всегда одна версия php?
Разработка под Docker. Локальное окружение. Часть 2 — Nginx+PHP+MySql+phpMyAdmin