Caché de compilación de Docker
Cuando compilas la misma imagen de Docker varias veces, saber cómo optimizar el caché de compilación es una gran herramienta para asegurarte de que las compilaciones se ejecuten rápidamente.
Cómo funciona el caché de compilación
Comprender el caché de compilación de Docker te ayuda a escribir mejores Dockerfiles que den como resultado compilaciones más rápidas.
El siguiente ejemplo muestra un pequeño Dockerfile para un programa escrito en C.
# syntax=docker/dockerfile:1
FROM ubuntu:latest
RUN apt-get update && apt-get install -y build-essentials
COPY main.c Makefile /src/
WORKDIR /src/
RUN make buildCada instrucción en este Dockerfile se traduce en una capa en tu imagen final. Puedes pensar en las capas de la imagen como una pila, donde cada capa añade más contenido sobre las capas anteriores:

Cada vez que una capa cambia, esa capa tendrá que volver a compilarse. Por ejemplo,
supongamos que realizas un cambio en tu programa en el archivo main.c. Después de este
cambio, el comando COPY tendrá que ejecutarse de nuevo para que esos cambios
aparezcan en la imagen. En otras palabras, Docker invalidará el caché para esta
capa.
Si una capa cambia, todas las demás capas que vienen después de ella también se ven afectadas. Cuando
la capa con el comando COPY se invalida, todas las capas siguientes también
necesitarán ejecutarse de nuevo:

Y ese es el caché de compilación de Docker en pocas palabras. Una vez que una capa cambia, todas las capas posteriores también deben volver a compilarse. Incluso si no compilaran nada de manera diferente, de igual forma necesitan volver a ejecutarse.
Otros recursos
Para obtener más información sobre el uso del caché para realizar compilaciones eficientes, consulta: