Docker y contenedores

Vuestras imágenes de Docker pesan más de lo que deberían. Casi seguro

Ismael Catalá Gil60 puntos · Nivel 1 · Curioso

Una imagen de una app Laravel puede pesar 1,2 GB o 180 MB. El código es el mismo.

Las tres cosas que más bajan el peso, por orden:

1. Construcción en varias etapas. Compila en una imagen con todas las herramientas y copia solo el resultado a una limpia:

FROM composer:2 AS vendor
COPY composer.* ./
RUN composer install --no-dev --optimize-autoloader
 
FROM php:8.3-fpm-alpine
COPY --from=vendor /app/vendor ./vendor
COPY . .

2. Alpine cuando puedas. Ojo con las extensiones de PHP que necesitan compilarse, ahí a veces no compensa.

3. Un .dockerignore de verdad. node_modules, .git, tests, storage/logs. Es lo más fácil de todo y lo que más gente se salta.

¿Cuánto pesa vuestra imagen de producción? Contad también el stack, que no es lo mismo PHP que Go.

Respuestas (0)

Todavía sin respuestas. Sé el primero.