Holi, soy Nuzkito

y me dedico al desarrollo de software

Instalar Composer en Docker

El gestor de dependencias más popular de PHP es Composer. Sin embargo, las imágenes de Docker oficiales de PHP no incluyen Composer, por lo que hay que realizar la instalación aparte.

Por suerte, existe una imagen oficial de Composer. Las imágenes de Composer vienen con una versión de PHP predeterminada que no tiene por qué corresponderse con la del proyecto en el que estamos trabajando, así que si necesitas ejecutarlo con la misma versión del proyecto tendrás que hacer un paso previo.

Como Composer consta de un único archivo, es posible copiar el archivo de su imagen a la imagen de PHP. Podemos hacerlo extendiendo la imagen de PHP, creando un archivo Dockerfile en el que copiamos el archivo de Composer a la imagen de PHP que estamos creando:

FROM php:8.3

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

Con el comando COPY le indicamos que copie de la imagen composer:latest el archivo /usr/bin/composer a la imagen que estamos creando. latest descargará la imagen con la última versión, pero si lo deseas puedes especificar una versión concreta.

Si usas Docker Compose, puedes indicar que el servicio use el archivo Dockerfile de la siguiente forma:

services:
  php:
    build:
      context: .
      dockerfile: ./Dockerfile

Artículos relacionados