Назовите этап для аргументов сборки, используя Dockerfile с многоступенчатыми сборками

Есть ли возможность назвать стадию сборки? Я ищу что-то вроде следующего примера:

ARG NAME

FROM python:3.7-alpine as modul-${NAME}
# ...

Если я попробую этот пример, возникает эта ошибка:

Error response from daemon: Dockerfile parse error line 5: invalid name for build stage: "modul-${NAME}", name can't start with a number or contain symbols

Я также попытался использовать аргумент как тег (modul:${NAME}) с тем же результатом.


person Wie    schedule 11.04.2019    source источник


Ответы (1)


Вы можете сделать это с помощью BuildKit, для которого требуется docker 18.09+. (https://docs.docker.com/develop/develop-images/build_enhancements/)

Все, что вам нужно сделать, это установить переменную env перед сборкой:

DOCKER_BUILDKIT=1 docker build -t whatever .

Я не думаю, что это возможно без BuildKit.

person user3534080    schedule 17.02.2020