Мне нравится идея контейнера, вы можете вызвать сбой по требованию извне - R0MANARMY «s точка действует, хотя - Docker контролирует процесс он запускает, и если процесс выходит, то контейнер идет в Exited
состояния , на самом деле нет понятия состояния ошибки.
Сказав, что, если вы хотите проверить Exited
контейнер, то изображение, которое вы упомянули делает работу, но она ограничена - она работает, ожидает в течение 10 секунд, а затем выходит:
docker run -d bantl23/error
Если вы хотите что-то вы можете контролировать снаружи, я поставил для этого очень простое изображение - sixeyed/bad-server. Это HTTP-сервер, который вы можете принудительно в состояние ошибки, нажав http://ip:8080/err
:
> docker run -d -p 80:8080 sixeyed/bad-server
8b4bd7ffd96d543c9b51c7709267894d2bc75daa99ea80250d5e7846f98a6526
> docker logs -f 8b4
+ exec app
Listening on port 8080
Responding to path:
test
err!
> docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b4bd7ffd96d sixeyed/bad-server "go-wrapper run" 37 seconds ago Exited (1) 10 seconds ago fervent_hawking
Хотя logs
были запущены, я ударил http://localhost/test
, а затем http://localhost/err
- который вызвал контейнер для выхода.
см. Https://github.com/docker/docker/issues/8294 – user2915097
Какое состояние ошибки? – R0MANARMY
Хорошо, что докер проверяет и удаляет некоторые вещи, упомянутые там в файловой системе, уверен, что вы когда-нибудь его сломаете –