Динамически копировать базовый образ с помощью аргумента сборки?Python

Программы на Python
Ответить
Anonymous
 Динамически копировать базовый образ с помощью аргумента сборки?

Сообщение Anonymous »

Я пытаюсь динамически выбирать, из какой базы копировать, на основе аргумента сборки, вот урезанная версия моего файла Dockerfile:

Код: Выделить всё

ARG PY_VER=3.12
ARG BUILD=default

# Build stage
FROM python:${PY_VER}-slim AS base_default

RUN pip install --no-cache-dir --upgrade gunicorn

# Deploy stage
FROM python:${PY_VER}-slim AS build_default
ARG PY_VER
ARG BUILD

COPY --from=base_${BUILD} /usr/local/bin/gunicorn /usr/local/bin/gunicorn

COPY --from=base_${BUILD} /usr/local/lib/python${PY_VER}/site-packages/ /usr/local/lib/python${PY_VER}/site-packages/

CMD ["gunicorn", "-h"]
С аргументом PY_VER все в порядке, но BUILD, к сожалению, выдает ошибку типа:

Код: Выделить всё

Test:16
--------------------
14 |     COPY --from=base_${BUILD} /usr/local/bin/gunicorn /usr/local/bin/gunicorn
15 |
16 | >>> COPY --from=base_${BUILD} /usr/local/lib/python${PY_VER}/site-packages/ /usr/local/lib/python${PY_VER}/site-packages/
17 |
18 |     CMD ["gunicorn", "-h"]
--------------------
ERROR: failed to solve: failed to parse stage name "base_${BUILD}": invalid reference format: repository name (library/base_${BUILD}) must be lowercase
Можно ли что-нибудь сделать, чтобы это заработало?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -build-arg
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»