Очистка старых образов контейнеров

Ха-ха, ладно, не для ускорения, но такая команда для освобождения места действительно существует! :wink: Я, конечно, имею в виду:

./launcher cleanup

Она удаляет старые образы, когда место на диске заканчивается. Это одна из команд, которую: а) мне лично приходилось запускать несколько раз, б) о существовании которой не так-то легко догадаться, если не знать, где искать, и в) которая, я не знаю… хотя бы несколько десятков раз поднималась на Meta за эти годы.

Решил упомянуть, потому что честно говоря, не понимаю, почему «очистка» не может происходить автоматически, скажем, раз в месяц и/или после каждой пересборки :smiley: Не вижу причин, по которым по умолчанию нужно хранить все старые контейнеры вечно.

В настоящее время мы запускаем эту команду в интерактивном режиме, когда на диске остаётся менее 5 ГБ свободного места.

А, понял, да, это усложняет задачу! Всё ещё кажется, что это должно быть фоновой задачей, чтобы никому не приходилось запускать её вручную. (Разве что я что-то упускаю и иногда есть веская причина оставлять старые неиспользуемые контейнеры)

Нельзя угадать, почему кто-то может захотеть сохранить старые контейнеры. У меня есть целые жёсткие диски от компьютеров, которые я вывел из эксплуатации десять лет назад. Я не хочу, чтобы кто-то другой решил их удалить. :wink:

Ха, ты прав! Я спросил просто потому, что буквально не знаю, какие могут быть причины для этого :thinking: :upside_down_face:

Конечно, я понимаю необходимость создания резервных копий для целей фактического хранения данных. Но старые контейнеры — это ведь другое, верно? Я не эксперт по Docker, и это, вероятно, слабая метафора, но для меня это похоже на ситуацию, когда я использую macOS Catalina, но при этом храню копии Mojave, High Sierra, Sierra, El Capitan, Yosemite и так далее.

Я не сомневаюсь в том, что есть… причины! хранить контейнеры, но за годы использования Discourse я с ними никогда не сталкивался. Поэтому предполагаю, что 99% пользователей, подобных мне, с чистой установкой, в этом никогда не нуждаются. Если бы была возможность всегда автоматически удалять старые контейнеры, я бы обязательно её использовал!

Я имею в виду, что плагины часто перестают работать во время крупных обновлений, особенно сторонние. Это не отличается от того, как крупные выпуски macOS препятствуют запуску определённых приложений.

Ага, то есть вы говорите, что наличие старых контейнеров полезно на случай сбоя, когда нужно откатиться? В таком случае, речь только о непосредственно предыдущем контейнере или же может возникнуть необходимость в контейнере, который был создан очень давно?

Я понимаю, что сравнение с macOS не идеально, но моя мысль в том, что я бы никогда не вернулся к очень старой версии ОС, даже если некоторые устаревшие приложения работают только на последней. Если кто-то приведёт конкретный пример: «Вот случай, когда мне действительно понадобился один из моих старых контейнеров Discourse двухлетней давности», — я замолчу :slight_smile: Честно говоря, это вопрос, который меня давно интересует.

Моя аналогия не была идеальной. Но есть причины, по которым у кого-то могут быть образы Docker и контейнеры, которые не используются, но которые не хочется удалять, потому что они запускаются лишь изредка, и человек не хочет заново собирать их в следующий раз, когда они понадобятся.