Какие знаешь основные этапы написания Dockerfile
Python
Middle
Без компании
Какие знаешь основные этапы написания Dockerfile
Ответы
- **Выбор базового образа** – указываем `FROM` (например, `python:3.9-slim`).
- **Установка зависимостей** – копируем `requirements.txt` и ставим через `pip install` (`COPY` + `RUN`).
- **Копирование кода** – добавляем файлы проекта (`COPY . /app`).
- **Настройка окружения** – задаем переменные (`ENV`), рабочий каталог (`WORKDIR`).
- **Определение точки входа** – `CMD` или `ENTRYPOINT` для запуска приложения.
**Пример:**
```
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENV FLASK_APP=app.py
CMD ["flask", "run", "--host=0.0.0.0"]
```
**Оптимизация:**
- Многострочные `RUN` объединяйте через `&&`.
- Используйте `.dockerignore` для исключения ненужных файлов.
- Разделяйте слои (кэширование зависимостей).