Можно ли указывать несколько операций from в одном Dockerfile
Python
Middle
Без компании
Можно ли указывать несколько операций from в одном Dockerfile
Ответы
Да, можно указывать несколько операций `FROM` в одном Dockerfile, но это работает только с мульти-стадийными сборками (multi-stage builds). Каждый `FROM` начинает новую стадию сборки, и можно копировать файлы между стадиями с помощью `COPY --from=<stage>`. Это полезно для уменьшения итогового размера образа, например, когда нужны инструменты сборки, но не в финальном образе.
Пример:
```
# Стадия сборки
FROM python:3.9 as builder
COPY requirements.txt .
RUN pip install --user -r requirements.txt
# Финальная стадия
FROM python:3.9-slim
COPY --from=builder /root/.local /root/.local
COPY app.py .
CMD ["python", "app.py"]
```
Важно: без мульти-стадийных сборок (до Docker 17.05) несколько `FROM` не поддерживались.