
Я использую Docker 1.12.6 на AWS Linux.
Все docker
команды зависают.
Экземпляр AWS сегодня утром рухнул (до сих пор не знаю почему). Перезагрузка не помогла, поэтому я остановил и запустил экземпляр. При просмотре /var/log/docker
получаю:
time="2017-01-16T10:46:18.829402768Z" level=info msg="libcontainerd: new containerd process, pid: 21697"
time="2017-01-16T10:46:18.833508272Z" level=fatal msg="open /var/run/docker/libcontainerd/containerd/054f92393f757e0418b014ed1fa35673fbce2293de43e42153f4e10ec4910c77/state.json: no such file or directory"
Каталог контейнера существует, но содержит только пустой init
каталог. Случайный поиск по другим контейнерам показывает то же самое.
Я предполагаю, что зависание вызвано отсутствием файла. Как мне восстановиться?
Редактировать:
В итоге удалил, а затем переустановил, получил сообщение:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Запустил службу Docker, теперь она снова зависла.
решение1
Я решил свою проблему
- остановка сервисного докера
- Перейдите в /var/run/docker и удалите все каталоги, связанные с идентификатором контейнера.
- Перейдите в /var/lib/docker и удалите все каталоги, связанные с идентификатором контейнера.
- запуск сервиса докера
решение2
Ответ @Moreno сработал для меня с небольшой поправкой:
остановить демон докера (
sudo service docker stop
)Удалить папки в containerd (на всякий случай мы также удалили папки с тем же именем непосредственно в libconteinerd (/var/run/docker/libcontainerd/containerd)
запустить демон докера
решение3
Я столкнулся с той же проблемой. Потратив на это довольно много времени, мне пришлось вернуться к старым AMI, которые работают, пока я не найду решение этой проблемы. Последний агент ECS (1.13.1) был выпущен пару дней назад — интересно, может ли это быть нашей проблемой.
Обзор:
Docker 1.12.6
ECS Agent 1.13.1
При загрузке экземпляра все docker
команды зависают. Проверка /var/log/docker
показывает:
level=info msg="libcontainerd: new containerd process, pid: 21687"
level=fatal msg="open /var/run/docker/libcontainerd/containerd/{{CONTAINER_HASH}}/state.json: no such file or directory"
Та же проблема, где libcontainerd
содержится пустой init
каталог (не state.json
видно!)
решение4
Столкнулся с той же проблемой. Экземпляр рухнул (неизвестная причина). Docker и агент ECS. Переустановка docker не помогла.
Что нам помогло:
- Убить docker вручную (kill pid)
- Удалить папки в containerd (на всякий случай мы также удалили папки с тем же именем непосредственно в libconteinerd (/var/run/docker/libcontainerd/containerd)
- Перезапустить докер
- Начать ecs
Видно здесь: https://github.com/docker/docker/issues/30984
Система снова работает.