Как отслеживать процесс, который выполняется внутри контейнера - PullRequest
2 голосов
/ 03 мая 2019

Я новичок в контейнере Docker, и мой вопрос заключается в том, как отслеживать процесс, который выполняется внутри контейнера.Например, у меня есть контейнер с Apache.Как я узнаю, что процесс apache внутри контейнера был убит, но мой контейнер все еще работает.

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

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Ссылка на Dockerfile содержит ответ:

https://docs.docker.com/engine/reference/builder/

В частности, директива HEALTHCHECK:

https://docs.docker.com/engine/reference/builder/#healthcheck

По сути, при сбое точки входа вашего контейнера контейнер умирает:

https://docs.docker.com/engine/reference/builder/#entrypoint

Но, в любом случае, процесс, выполняющийся внутри контейнера, также виден из списка процессов хоста, поэтому вы можете безопасно использовать вывод ps aux| grep httpd для мониторинга PID вашего apache.

0 голосов
/ 11 мая 2019

В производственном процессе вы не просто используете запуск докера, вам нужно использовать некоторый контейнерный оркестратор, такой как kubernetes, где вы определяете проверки работоспособности, такие как датчики живучести и готовности, и оркестр позаботится обо всем остальном, он перезапустит Контейнер, если Apache по какой-то причине не работает.

https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...