Жизненный цикл контейнера: остановка и удаление
На прошлом уроке мы запустили контейнер в фоне и прочитали его вывод. На этот раз сосредоточимся на одной идее: как чисто завершить работу контейнера, а затем убрать его за собой. Мы изучим docker stop, который сначала отправляет SIGTERM — вежливый сигнал «пожалуйста, завершись», из вводного материа
Остановка и удаление — это как выключить устройство, а затем выбросить его: docker stop просит устройство корректно завершить работу перед выключением, но оно всё ещё стоит на полке выключенным — только docker rm действительно снимает его с полки и освобождает место.
- SIGTERM
- Вежливый сигнал «пожалуйста, завершись», отправляемый главному процессу контейнера при docker stop и дающий ему время закрыть соединения и сохранить состояние перед выключением. (Сигнал — это короткое сообщение, которое ОС отправляет процессу — из вводного материала.)
- SIGKILL
- Сигнал, который мгновенно завершает процесс без возможности отказаться. docker stop отправляет его только если процесс не завершился сам к концу льготного периода после SIGTERM.
- Состояние Exited
- Контейнер, процесс которого завершился. Он больше не работает, но всё ещё существует: docker ps -a по-прежнему показывает его с кодом выхода, пока docker rm не удалит его.