2

Я использую 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, теперь он снова висит.

4 ответа4

2

Я решил мой путем

  1. остановка сервисного докера
  2. Перейдите в /var /run /docker и удалите любой каталог, связанный с идентификатором контейнера.
  3. Перейдите в /var /lib /docker и удалите любой каталог, связанный с идентификатором контейнера.
  4. запуск сервисного докера
1

Ответ @Moreno работал для меня с небольшим поворотом:

  • остановите демон docker ( sudo service docker stop )

  • Удалите папки в containerd (на всякий случай мы также удалили папки с тем же именем непосредственно в libconteinerd (/var/run/docker/libcontainerd/containerd)

  • запустить Docker-демон

0

Я столкнулся с той же проблемой. Потратив немало времени на это, мне пришлось откатиться к старым 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 !)

-1

Беги в ту же проблему. Инстанс разбился (неизвестная причина). Докер и агент ECS. Переустановка докера не помогла.

Что сработало для нас:

  • Убить докер вручную (kill pid)
  • Удалите папки в containerd (на всякий случай мы также удалили папки с тем же именем непосредственно в libconteinerd (/var/run/docker/libcontainerd/containerd)
  • Перезапустите докер
  • Начать ECS

Видно здесь:https://github.com/docker/docker/issues/30984

Система снова работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .