Dockerのインストールが正しく動作しない - デバイスに空き容量なし - ./launcher cleanup を使用しても安全ですか?

./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. です。

…この問題を解決するための一般的なヒントの1つとして ./launcher cleanup があるようですが、実行する前に、以下の警告が表示されるため、安全に使用できるか確認したいと思います。
WARNING! This will remove all stopped containers.
WARNING! This will remove all images without at least one container associated to them.

助けていただけますか?重要なものを削除しないようにしたいだけです。

docker ps -a

docker images

これは間違いなく推奨されるオプションです。

ただし、ボタンを押す前にサイトが正常に動作することを確認したい場合は、まず ./launcher start app を実行できます。

「いいね!」 3

./launcher start app を実行しても同じエラーが発生します。

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」の下にあるスクリーンショットを見ると、古いイメージがたくさんあるように見えますが、それらを具体的に削除対象として指定する方法や、それが問題を引き起こすかどうかはわかりません。

df

Dockerコンテナが実行中の場合、コンテナは削除されません。コンテナが実行中でない場合、コンテナは削除されますが、./launcher rebuild app で新しいコンテナを再構築できます。

「いいね!」 2

ありがとうございます。ただ、まだ私にはあまり明確ではありません。Dockerは得意ではないので、コンテナを削除して再構築すると、私のサイトに何か問題が発生するのではないかと心配しています。まず、選択的にスペースを空けることで、アプリを起動する方が安全でしょうか?例えば、次のようにします。

  1. まず、特定のイメージを削除してスペースを空けます。
  2. 次に ./launcher start app を実行します。
  3. アプリが起動したら: ./launcher cleanup

…この注意が必要かどうかはわかりません。おそらく、アプリが実行されていなくても、単に ./launcher cleanup を直接実行すれば、重要なものを削除せずに問題なく動作するかもしれません。

しかし、上記のアプローチが選択肢になり得るとお考えの場合は、特定のイメージを削除するコマンド(上記ステップ1)をご存知でしょうか?以下に、削除するイメージの選択肢を示します。

まず、バックアップを1つか2つ削除します。これで十分なスペースができ、機能するようになるはずです。

./launcher start app を実行してから ./launcher cleanup を実行しても、機能しているイメージは削除されず、クリーンアップの進行中もサイトは機能し続けます。

もし、何らかの理由で機能しているイメージを削除してしまい、最近アップグレードしたばかりの場合は、./launcher rebuild app を実行すれば、ほぼ問題なく元に戻せるはずです。

「いいね!」 1

バックアップを1つか2つ削除するコマンドを知っていますか? ./ launcher cleanup [id of image] のようなものでしょうか?

./launcher cleanup は、使用されていないコンテナを削除するだけで、バックアップは削除されないと思います。

cd /var/discourse/shared/standalone/backups/default
ls
rm file-to-delete
「いいね!」 1

以下のコマンドを試しました。

cd /var/discourse/shared/standalone/backups/default
ls
rm oldest-file

./launcher rebuild app を試しましたが、以前と同様にメモリの問題で失敗しました。

./launcher cleanup を実行しました。

4GB クリーンアップしました。

./launcher rebuild app を再度試しましたが、新しいエラーで失敗しました。

./discourse-doctor を実行して、何が起こっているのかを把握しようとしました。

…解決したようです。

しかし、理由は不明です。次回のために理解したいです。

再構築中にメモリ不足のエラーが発生した場合は、さらに1GBのスワップを追加することをお勧めします。ただし、ディスク容量の問題がよりタイトになります(25GBのRAMを搭載した小さなドロップレットを使用しているようですが、これはぎりぎりです)。再構築ごとに./launcher cleanupを実行するか、バックアップがたくさんある場合はS3に移動することをお勧めします([アップロード用のS3互換オブジェクトストレージプロバイダーを構成する](Configure an S3 compatible object storage provider for uploads --そこに記載されているように、すべての資産を行う必要はなく、バックアップのみを行うことができます)。

2番目のエラーはメモリエラーではありませんでしたが、新しいエラーが何であるかを特定できませんでした。そのため、医師に相談しました。
いずれにせよ、./discourse-doctor で解決しました。実際に何が起こったのかを知りたかっただけです。
ご協力ありがとうございました!

「いいね!」 1

RAM(メモリ)とディスク容量を混同しているのではないでしょうか。メモリのエラーは発生したりしなかったりしますが、「エラー127」は分かりにくく、見逃しやすいエラーです。