Обычно такие вещи в пространстве Docker, как команда docker run
и директива FROM, будут использовать локальный образ, если он существует;это не должно быть передано в хранилище.Это означает, что вы можете создать свой первый образ и сослаться на него в следующем Dockerfile по имени.(Нет другого способа сослаться на другой Dockerfile как таковой .)
Более новые версии Docker имеют расширенную форму команды Dockerfile COPY , которая
принимает флаг --from=<name|index>
.... Если этап сборки с указанным именем не может быть найден, вместо него пытаются использовать изображение с тем же именем.
Таким образом, если вы заранее запустите
docker build -t build-env ~/build
, то точный синтаксис, который вы показываете в предложенном Dockerfile, будет работать
FROM some-image
COPY --from=build-env /built .
, и не имеет значения, что промежуточный образ сборки нефактически никуда не толкнул.