После выполнения команды ./launcher rebuild app у меня возникает ошибка Your Docker installation is not working correctly.
Ошибка: docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.
…Я вижу, что один из распространённых советов по исправлению этой проблемы — ./launcher cleanup, но перед тем как выполнить её, я хочу убедиться, что это безопасно, поскольку получаю предупреждения:
WARNING! This will remove all stopped containers.
WARNING! This will remove all images without at least one container associated to them.
Поможет ли это? Просто хочу убедиться, что не удалю ничего важного.
docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.
See 'docker run --help'.
Your Docker installation is not working correctly
…поэтому я всё ещё не знаю ответа на вопрос: безопасно ли использовать ./launcher cleanup, когда сайт не запущен и не работает?
Судя по скриншоту в разделе ‘docker images’ в первом сообщении, там много старых образов, но я не знаю, как точно указать их на удаление и не вызовет ли это проблем.
Если Docker-контейнер запущен, команда не удалит его. Если контейнер не запущен, он будет удалён, но вы сможете создать новый с помощью команды ./launcher rebuild app.
Спасибо, но мне всё ещё не совсем понятно — Docker не моя сильная сторона, поэтому я не знаю, не приведёт ли удаление и пересоздание контейнера к проблемам на моём сайте… Не будет ли безопаснее сначала запустить приложение, освободив избирательно место? Например, так:
Сначала освободите место, удалив конкретный образ.
Затем выполните ./launcher start app.
Как только приложение запустится: ./launcher cleanup.
…не уверен, нужна ли такая осторожность. Возможно, достаточно сразу выполнить ./launcher cleanup, и это не удалит ничего важного, даже если приложение не запущено.
Но если вы считаете, что описанный выше подход может быть вариантом: знаете ли вы команду для удаления конкретного образа (шаг 1 выше)? Мои варианты образов для удаления приведены ниже.
Я бы сначала удалил одну-две резервные копии. Это должно освободить достаточно места для корректной работы.
Если вы запустите ./launcher start app, то команда ./launcher cleanup не удалит вашу рабочую образ, и ваш сайт продолжит работать во время процесса очистки.
Если по какой-то причине вы допустите ошибку и удалите рабочий образ, но недавно обновляли систему, то у вас есть хорошие шансы просто выполнить ./launcher rebuild app, и всё снова будет в порядке.
Если при пересборке возникла ошибка нехватки памяти, я бы добавил ещё 1 ГБ пространства подкачки, хотя это усугубит проблему с местом на диске (Похоже, у вас небольшой Droplet с 25 ГБ ОЗУ, чего едва хватает). Перед каждой пересборкой я бы запускал ./launcher cleanup, или, возможно, у вас просто много резервных копий, и их стоит перенести в S3 (Настройка совместимого с S3 провайдера объектного хранилища для загрузки файлов — можно перенести только резервные копии, не обязательно все активные файлы, как описано там).
Вторая ошибка не была ошибкой памяти, но я не мог определить, в чём заключалась новая ошибка: отсюда и обращение к doctor. В любом случае, ./discourse-doctor решил проблему, просто хотелось бы знать, что именно произошло. Спасибо за помощь!
Мне кажется, вы путаете оперативную память (RAM) с местом на диске. Ошибка памяти может появляться и исчезать, а ошибка «error 127» довольно загадочна и её легко пропустить.