Подтвердить что ты не робот

Каков авторитетный список кодов выхода Docker Run?

Извините, если это было задано, но нигде в документации Docker я не могу найти авторитетный список кодов выхода (также называемый статусом выхода). Удивительно! Я вижу предложения по его согласованию, но не документы на docker.com.

Кто-нибудь знает, где можно найти коды выхода?

4b9b3361

Ответ 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