Человек, написавший этот Dockerfile, вероятно, не понимает, как работает многоступенчатая сборка.Это не необычное недоразумение, потому что общий запрос с Dockerfiles состоит в объединении нескольких изображений, а это не то, что предоставляют несколько строк FROM.
В примере используется загрузка изображения, а затем его незамедлительное игнорирование.Если бы на последующем этапе была команда COPY
, можно было бы скопировать это предыдущее изображение, что объясняется одной из немногих причин, которые я видел, чтобы импортировать изображение, ничего не делая с ним:
ARG parent_ver=2.0
FROM repo:5000/parent:${parent_ver} as parent
FROM base as release
COPY --from=parent /some/file /dest
...
Обычно вы можете копировать напрямую из другого изображения, но если вы хотите указать его с помощью переменной, как указано выше, текущее решение включает в себя описанный выше обходной путь.
Так как приведенный пример ничего не сделал,все, что вы увидите, это ненужный загруженный и не использованный образ.Это замедляет сборку, увеличивает пропускную способность и занимает место на диске, но только на сервере сборки.Чтобы исправить их пример, стоило бы заполнить вопрос об этом репозитории GitHub.