Multistage Docker — как пересобирать без кэша не весь Dockefile
Возникла необходимость пересобрать отдельный stage-контейнер из Dockerfile. Первый собранный контейнер — это контейнер сборки OpenSSL, который выполняется очень, очень долго. Для того, чтоб сэкономить время, во вторую часть добавляем:
# Stage 1: OpenSSL-сборка (пусть останется закешированной)
FROM debian:bookworm AS openssl-build
# ...
# Stage 2: основная
FROM debian:bookworm-slim
# Аргумент, чтобы инвалидировать кэш
ARG CACHE_BREAKER=default
# Используем его в ENV, чтобы Docker счёл слой новым
ENV CACHE_BREAKER=${CACHE_BREAKER}