Команда docker image rm не работает с зависанием

Использование дисков на некоторых из моих серверов составляет 100%, поэтому я пытаюсь удалить неиспользуемые образы докеров, чтобы освободить место на диске.

За исключением одного сервера, команда docker image rm работала нормально.

Но для определенного сервера команда не работает.

USER@HOST:/home1:> docker rmi DOCKER_IMAGE_ID --force

После этой команды ничего не происходит, и команда не завершается.

я добавил -debug вариант, но он тот же, никакой информации не печатается.

docker ps команда работает хорошо.

Как я могу это решить?

Или есть способ удалить образ докера, найдя соответствующий файл и запустив rm SOME_FILE?

2 ответа
2

Для изображений команда docker rmi imagename/id.

Для контейнеров команда docker rm containername/id.

  • Я в курсе команд. я имею в виду docker rmi команда зависает. Команда не работает на определенном сервере, и я хочу найти причину.

    – юн
    21 часов назад

  • Есть ли у изображения несколько тегов? Попробуйте использовать rmi команда с каждым тегом в качестве параметра для всех тегов. Удаление последнего тега должно также удалить изображение. Какая ОС для проблемного сервера?

    – harrymc
    21 часов назад

  • Я использую CentOS 7. Есть ли разница между использованием rmi с IMAGE_ID и с REPO: TAG? Оба результата одинаковы.

    – юн
    20 часов назад

Если он зависает, это либо ошибка в движке докеров, либо в базовом хосте.

Если зависает сам движок докера, то может помочь проверка журналов движка. С помощью systemd вы можете поднять их с помощью journalctl:

sudo journalctl -u docker

Для дальнейшей отладки в стеке Go вы можете принудительно выводить трассировку стека с помощью:

sudo kill -SIGUSR1 $(pidof dockerd)

Эти журналы будут записаны в /var/run/docker/.

Если проблема связана с самим хостом Linux, например с неисправным диском, то проверка журналов /var/log, а вывод dmesg может помочь определить потенциальную причину.

Конечно, простой ответ – начать с его выключения и снова включить, перезапустив движок докера с помощью:

sudo systemctl restart docker

  • С sudo journalctl -u docker , я вижу, что самый последний журнал написан 24 февраля, и это Feb 24 04:32:58 HOST dockerd[18977]: time="2021-02-24T04:32:58.109635778+09:00" level=error msg="failed to process event" container=XXXX error="open /var/lib/docker/containers/XXXX/.tmp-config.v2.json239865109: no space left on device" Не могли бы вы мне еще намекнуть?

    – юн
    1 час назад

  • @yoon Я не на вашей машине, чтобы запускать команды, чтобы дать более подробную информацию. Показанный вами журнал показывает, что у вас закончилось дисковое пространство в этой позиции, будь то байты или inodes. Хотя это также может быть ошибка приложения или настройки безопасности на хосте.

    – BMitch
    1 час назад

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *