removespread / Docker
DOCKER · МОДУЛЬ 06 · УРОК 3

Итоговая работа: сервис для команды

35 мин

Соберите все навыки в одном образе: чистый контекст, конфигурация, HTTP, здоровье и ненулевой UID.

Образ для команды~35 минНастоящая лабораторная
После урока вы сможете
  • Переводить требования в Dockerfile и код
  • Проверять два режима запуска одного образа
  • Отличать ошибку сборки от нарушения контракта

Сначала контракт, затем код

Команда принимает небольшой сервис. GET / должен возвращать JSON ровно с двумя полями: message из переменной окружения MESSAGE и status со значением ok. По умолчанию MESSAGE равен Ready for production; при переопределении ответ меняется без пересборки.

{"message": "Ready for production", "status": "ok"}

# Тот же образ с MESSAGE="Runtime wins!":
{"message": "Runtime wins!", "status": "ok"}

Дополнительно процесс работает с UID 65532, HTTP доступен снаружи контейнера, а действующий HEALTHCHECK достигает healthy. Каждое требование имеет своё наблюдение в проверке. Не пытайтесь заменить их одной печатью «ok» в журнал.

Шаг 1 из 6