Контейнер Docker со статусом «Dead» после проверки консула
Я использую функцию проверки здоровья консула, и я продолжаю получать эти «мертвые» контейнеры:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20fd397ba638 progrium/consul:latest "\"/bin/bash -c 'cur 15 minutes ago Dead
Что такое «мертвый» контейнер? Когда остановленный контейнер становится «мертвым»?
Для записи я запускаю переменные env progrium / consul + gliderlabs / registrator + SERVICE_XXXX_CHECK для проверки работоспособности. Он запускает скрипт проверки работоспособности, запускающий изображение каждые X секунд, что-то вродеdocker run --rm my/img healthcheck.sh
Мне вообще интересно, что означает «мертвый» и как этого избежать. Еще одна особенность - у моих мертвых контейнеров нет названия.
это некоторая информация из инспекции контейнера:
"State": {
"Dead": true,
"Error": "",
"ExitCode": 1,
"FinishedAt": "2015-05-30T19:00:01.814291614Z",
"OOMKilled": false,
"Paused": false,
"Pid": 0,
"Restarting": false,
"Running": false,
"StartedAt": "2015-05-30T18:59:51.739464262Z"
},
Странно то, что только то и дело контейнер становится мертвым и не удаляется.
Спасибо
Редактировать: Глядя на журналы, я обнаружил, что делает остановку контейнера неудачной:
Handler for DELETE /containers/{name:.*} returned error: Cannot destroy container 003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc:
Driver aufs failed to remove root filesystem 003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc:
rename /var/lib/docker/aufs/diff/003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc
/var/lib/docker/aufs/ diff/003876e41429013e46187ebcf6acce1486bc5011435c610bd163b159ba550fbc-removing:
device or resource busy
Почему это происходит?
edit2: нашел это:https://github.com/docker/docker/issues/9665