古いコンテナイメージの整理

哈哈、わかりました。「高速化」のためのものではありませんが、空き容量を確保するためのコマンドは確かにあります! :wink: 私が言っているのはもちろんこれです:

./launcher cleanup

これはディスクの容量が不足した際に、古いイメージを削除します。これは以下の点で重要なコマンドです:a) 私自身も何度も実行したことがある、b) 探さないと存在に気づきにくい、c) 過去数年間で Meta 上で「少なくとも数十回」以上話題になった、ということです。

正直なところ、なぜ「クリーンアップ」が自動的に行われないのか(例えば月に一度、またはビルドのたびに)わかりません :smiley: デフォルトで古いコンテナを永久に保持し続けたいと思う人がいるとは到底思えません。

現在、ディスクの空き容量が5GB未満になった場合、このコマンドを対話的に実行しています。

あ、なるほど、確かにそれだと見落としにくくなりますね!でも、やっぱりバックグラウンドジョブとして実装して、誰も手動で実行する必要がないようにするのが理想的だと思います。(もし私が何か見落としているなら、使われなくなった古いコンテナを意図的に残しておくべき場合もあるかもしれませんが)

なぜ誰かが古いコンテナを保留しておきたいのかを推測することはできません。私は10年前に廃止したコンピュータからハードドライブ全体を持っています。他の誰かにそれらを削除する決定をしてほしくありません。:wink:

ああ、その通りですね。なぜそうなるのか、正直に言うと理由がわからないので質問しました。 :thinking: :upside_down_face:

もちろん、実際のデータ保持のためにバックアップを保存するのは理解できます。でも、古いコンテナはまた別問題ですよね?私は Docker の専門家ではないので、これはあまり適切な比喩かもしれませんが、私には、macOS Catalina を使っているのに、Mojave、High Sierra、Sierra、El Capitan、Yosemite などの古いバージョンのコピーをずっと残しておいているような気がします。

コンテナを保持する理由が…ある!ということは否定しません。ただ、Discourse を何年も使ってきて、そのようなケースに遭遇したことがありません。だから、純粋なインストール環境を使っている私のような人の 99% は、そんな機能は必要ないんじゃないかなと思っています。もし「古いコンテナを常に自動削除する」というオプションがあれば、迷わず使いますけどね!

つまり、プラグインは大きなアップデートのたびに動作しなくなることがよくあります。特にサードパーティ製のプラグインではそうです。これは、macOSのメジャーリリースによって特定のアプリが実行できなくなる現象と似ています。

ああ、つまり何か問題が起きた際にロールバックする必要がある場合に、古いコンテナを持っておくことが役立つと言っているのですね?その場合、直前のコンテナだけで十分でしょうか、それともずっと昔のコンテナが必要になることもあるのでしょうか?

macOSとの比較は完全ではありませんが、私の言いたいことは、たとえ特定のレガシーアプリが最新バージョンでのみ動作するとしても、私は決して非常に古いOSに戻らないということです。もし「2年前の古い Discourse コンテナが実際に必要になった具体的なケース」を誰かが提示してくれれば、私が黙る用意はあります :slight_smile 正直なところ、これは私が長い間疑問に思っていたことです。

私の比喩は完璧ではありませんでした。しかし、Docker イメージやコンテナが未使用であっても、削除したくない理由はあります。それらは時折しか実行せず、次回必要になった際に再構築したくないからです。