Soy nuevo en Docker y configuré mi entorno PHP con esto como mi Dockerfile:
FROM php:7.0-apache COPY src/ /var/www/html/Ahora quiero usar el código PHP que encontré en github y dice que para instalarlo simplemente tengo que hacer:
composer require league/oauth2-clientAl obtener un shell en mi contenedor docker, el compositor ni siquiera está instalado. ¿Cómo agrego el compositor al Dockerfile y luego ejecuto los comandos del compositor que necesito?
Pude resolver esto agregando esto al Dockerfile
RUN php -r "copy('https://getcomposer.org/installer', 'composer- setup.php');" RUN php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer RUN php -r "unlink('composer-setup.php');" RUN composer require league/oauth2-clientAl obtener un caparazón en mi contenedor docker
Eso sería en tiempo de ejecución ( docker run )
En su lugar, cree un nuevo Dockerfile, que comienza con FROM myimage (la imagen php que creó) y agregue/copie lo que falta.
Consulte, por ejemplo, " Obtener el compositor (administrador de dependencias de php) para que se ejecute en una compilación de imágenes acoplables " como un posible enfoque.