Встречается на собеседованиях • сегодня

Как достигается первый процесс в Docker

Первый процесс в Docker контейнере (PID 1) запускается через ENTRYPOINT или CMD в Dockerfile. Этот процесс становится родительским для всех остальных процессов в контейнере.

Ключевые моменты:

  • Если процесс завершается, контейнер останавливается.
  • Сигналы (например, SIGTERM) отправляются именно этому процессу.
  • Лучше использовать легковесные процесс-менеджеры (например, tini) для корректной обработки сигналов и зомби-процессов.

Пример Dockerfile:

dockerfile
FROM alpine
RUN apk add --no-cache tini
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/your/app"]

Важно:

  • Без tini процессы-сироты могут оставаться в системе.
  • CMD можно переопределить при запуске контейнера (docker run).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы