hello-python
Минимальный корректный Python-образ. Используется в уроке 6.3.
Что демонстрирует
PYTHONUNBUFFERED=1— вывод сразу виден вdocker logs;- exec form в
CMD— приложение становится PID 1; - обработчик
SIGTERM— корректное завершение вместоSIGKILLчерез 10 секунд; - непривилегированный пользователь с фиксированным UID.
Запуск
docker build -t hello-python .
docker run -d --name hello hello-python
docker logs -f hello
Проверка
Вывод появляется сразу, без буферизации:
docker logs hello
Корректное завершение занимает доли секунды, exit code 0:
time docker stop hello
docker inspect hello --format '{{.State.ExitCode}}'
docker logs hello | tail -2
Ожидается:
real 0m0.3s
0
получен сигнал SIGTERM, завершаюсь
завершено штатно
Приложение работает не от root:
docker run --rm hello-python python -c "import os; print(os.getuid())"
Ожидается 10001.
Уборка
docker rm -f hello
docker rmi hello-python