Django Academy · Урок

Рекомендации для образов рабочего окружения

Используйте многоэтапную сборку и пользователей без прав root

Урок 4 из 413 шагов

«Рекомендации для образов рабочего окружения» — бесплатный урок Django Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Компактные и безопасные образы

Образ для рабочей среды должен быть компактным и безопасным. Компактный образ быстрее передаётся и запускается, а злоумышленникам доступно меньше потенциальных целей. 🛡️

Используйте многоэтапные сборки

При multi-stage-сборке зависимости компилируются на одном этапе, а в чистый итоговый образ копируются только результаты.

FROM python:3.12 AS builder
FROM python:3.12-slim AS final

Копируйте только необходимое

Из этапа сборки с помощью COPY --from копируйте только установленные пакеты, оставляя компиляторы и ненужные файлы сборки.

COPY --from=builder /usr/local/lib/python3.12 /usr/local/lib/python3.12

Никогда не запускайте от имени root

Создайте пользователя без прав root с помощью USER, чтобы скомпрометированный процесс не мог свободно изменять контейнер или хост.

RUN adduser --disabled-password appuser
USER appuser

Фиксируйте версии

Указывайте точные версии в requirements.txt, чтобы сборки были воспроизводимыми и не ломались из-за неожиданного обновления.

Django==5.0.6
gunicorn==22.0.0

Не храните секреты в образах

Передавайте секреты через переменные environment во время выполнения, никогда не встраивайте ключи или пароли непосредственно в образ.

SECRET_KEY=${SECRET_KEY}

Добавьте проверку работоспособности

HEALTHCHECK позволяет оркестратору узнать, действительно ли ваш контейнер работает и обслуживает запросы.

HEALTHCHECK CMD curl -f http://localhost:8000/health || exit 1

Установите DEBUG в False

Всегда запускайте рабочую среду с DEBUG=False, чтобы страницы ошибок не раскрывали пользователям код, настройки или трассировки стека.

DEBUG = False

Помечайте выпуски тегами

Помечайте образы настоящей версией, а не только тегом latest, чтобы всегда точно знать, что развернуто, и иметь возможность отката.

docker build -t myapp:1.4.0 .

Проверяйте уязвимости

Выполняйте проверку собранного образа, чтобы заранее обнаружить известные уязвимости в базовом образе и зависимостях.

docker scout cves myapp:1.4.0

Порядок слоёв для кэширования

Размещайте редко изменяющиеся шаги в начале, а код — в конце, чтобы при большинстве пересборок повторно использовать кэшированные слои и завершать сборку быстро.

Быстрая проверка

Какая практика сильнее всего уменьшает итоговый образ для рабочей среды?

Итоги

Вы повысили безопасность образа: multi-stage-сборки, пользователь без прав root, зафиксированные версии, секреты во время выполнения, проверки работоспособности и отключённый DEBUG. Всё готово для рабочей среды! 🏁

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Рекомендации для образов рабочего окружения» бесплатный?

Да — полный текст урока «Рекомендации для образов рабочего окружения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «Рекомендации для образов рабочего окружения»?

Используйте многоэтапную сборку и пользователей без прав root Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Рекомендации для образов рабочего окружения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Написание Dockerfile для Django
  2. docker-compose с Postgres и Redis
  3. Точки входа, миграции и collectstatic
  4. Рекомендации для образов рабочего окружения
← Назад к Django Academy