#dockerfile #docker-multi-stage-build
#dockerfile #docker-многоступенчатая сборка
Вопрос:
Есть ли возможность назвать этап сборки? Я ищу что-то вроде следующего примера:
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
Я также попытался использовать аргумент как tag ( modul:${NAME}
) с тем же результатом.
Ответ №1:
Вы можете сделать это с помощью BuildKit, для которого требуется docker 18.09 . (https://docs.docker.com/develop/develop-images/build_enhancements /)
Все, что вам нужно сделать, это установить переменную env перед сборкой:
DOCKER_BUILDKIT=1 docker build -t whatever .
Я не думаю, что это возможно без BuildKit.
Комментарии:
1. Я использовал Docker версии 20.10.21, и это, похоже, не сработало.
2. Это не работает: этот ответ не должен быть признан принятым.