У вас есть 3 варианта: решение «ARG», «базовое» решение и «файловое» решение.
ARG version_default=v1
FROM alpine:latest as base1
ARG version_default
ENV version=$version_default
RUN echo ${version}
RUN echo ${version_default}
FROM alpine:latest as base2
ARG version_default
RUN echo ${version_default}
другим способом является использование базового контейнера для нескольких этапов:
FROM alpine:latest as base
ARG version_default
ENV version=$version_default
FROM base
RUN echo ${version}
FROM base
RUN echo ${version}
Более подробную информацию можно найти здесь: https://github.com/moby/moby/issues/37345
Также вы можете сохранитьхеш в файл на первом этапе, и скопируйте файл на втором этапе, а затем прочитайте его и используйте его там.