Каков авторитетный список кодов выхода Docker Run?
Извините, если это было задано, но нигде в документации Docker я не могу найти авторитетный список кодов выхода (также называемый статусом выхода). Удивительно! Я вижу предложения по его согласованию, но не документы на docker.com.
Кто-нибудь знает, где можно найти коды выхода?
Ответы
Ответ 1
Для Docker> = 1.10 смотрите этот PR, который следует стандартным кодам выхода chroot:
-
125
: docker run
самого docker run
не удался -
126
: содержащаяся команда не может быть вызвана -
127
: если содержащаяся команда не может быть найдена -
128 + n
Сигнал фатальной ошибки n
: -
130
= (128+2)
Контейнер завершен Control-C -
137
= (128+9)
Контейнер получил SIGKILL
-
143
= (128+15)
Контейнер получил SIGTERM
Для получения полного списка проверьте справочную страницу signal
(см. man signal
типа cmd или проверьте онлайн, например, сигнал).
Проверьте документацию Docker для получения дополнительной информации о текущей версии.
Ответ 2
Обычно это будет статус выхода процесса, поэтому он зависит от приложения, то есть:
$ docker run debian sh -c "exit 5;"
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7fcc37778df0 debian "sh -c 'exit 5;'" 4 seconds ago Exited (5) 3 seconds ago reverent_einstein
Но в некоторых случаях Docker сам может вернуть код выхода:
- 125, если демон Docker имеет ошибку (например, указан неправильный флаг)
- 126, если команда контейнера не может быть вызвана (например, файл не является исполняемым)
- 127, если команда контейнера не может быть найдена (например, неверный путь к двоичному файлу)
https://docs.docker.com/engine/reference/run/#exit-status
Ответ 3
Коды выхода Docker хорошо документированы в официальной документации Docker.