Docker ディスク領域クリーニングのソリューション

Docker ディスク領域クリーニングのソリューション

少し前に、docker ディスク容量が小さすぎてデータを書き込めないという問題が発生しました。理由は、ローカル(Mac Pro)で複数のMySQLコンテナを稼働させて、オンラインデータをインポートしたのですが、結局インポートが完了する前に空き容量がなくなってしまいました。

最初に Docker に 80GB のディスク領域を割り当てましたが、書き込みが失敗したときに 0.6GB しか残りませんでした。

次のコマンドを使用して、Docker コンテナとイメージのディスク使用量を表示できます。

docker システム df

イメージ、コンテナ、ローカル ボリューム、ビルド キャッシュを含む次のような出力が表示されます。

タイプ 合計 アクティブサイズ 再利用可能
画像 5 5 5.158GB 0B (0%)
コンテナ 6 6 7.601MB 0B (0%)
ローカルボリューム 4 3 46.64GB 207MB (0%)
ビルドキャッシュ 34 0 1.609MB 1.609MB

上記の 4 つのタイプのうち、ローカル ボリュームが最も大きなディスク領域を占めていることがわかります。より詳細なレポートを表示する場合は、次のコマンドを使用します。

docker システム df -v

ローカル ボリュームに関する次のような出力を含め、多くの出力が表示されます。

ボリューム名 リンク サイズ
641d4976908910dca270a2bf5edf33408daf7474a0f27c850b6580b5936b6dd0 1 40.1GB
ovpnデータ1 33.51kB
267b52c5eab8c6b8e0f0d1b02f8c68bdaffba5ea80a334a6d20e67d22759ef48 1 6.325GB
f4a3866ef41e3972e087883f8fa460ad947b787f2eafb6545c759a822fb6e30d 0 207MB

スペースを解放するために、最初に思いつく単純で大雑把な方法は、停止しているコンテナをすべて削除することです。コマンドは次のとおりです。

docker システム プルーン -a

ただし、このコマンドを使用するときは注意が必要です。最初に使用する必要があるすべての Docker コンテナを起動することを忘れないでください。そうしないと、起動されていないコンテナがこのコマンドによって削除されます。セキュリティ上の理由から、このコマンドはデフォルトではどのコンテナからも参照されていないデータ ボリュームを削除しません。これらのデータ ボリュームを同時に削除する必要がある場合は、--volumns を明示的に指定する必要があります。

したがって、コンテナ、ネットワーク、イメージ、データボリュームを強制的に削除したい場合は、次のコマンドを使用できます。

docker システム プルーン --all --force --volumes

2 番目の方法は、Docker がデータを保存するパスを、ディスク容量の多い別の場所に変更することです。 Mac ユーザーの場合は、グラフィカル Docker Desktop 設定でディスク イメージの場所の設定を変更できます。

2 番目の方法を試し、ディスク イメージの場所を外付け SSD に変更し、まずそこに以前のデータを同期しようとしました。その後、大きな問題が見つかりました。それは、mysql コンテナへのデータのインポートが非常に遅いことです。これはおそらく、docker コンテナ内の外付け SSD の書き込みボトルネックです。

いくつかのコンテナを実行するだけで、データベース データをローカルに保存しない場合は、Docker データを SSD に保存することをお勧めします。

これで、docker ディスク領域クリーニングの解決策に関するこの記事は終了です。docker ディスク領域クリーニングに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker による Overlay2 の占有ディスク領域のクリーンアップについて (テスト済みで効果的)
  • Dockerディスク容量不足の問題を解決する
  • Docker が占有するディスク領域をクリーンアップする方法
  • Docker ディスク領域の使用状況を分析してクリーンアップする方法
  • Dockerがディスク容量を全て占有する問題の解決策
  • Dockerコンテナによるディスク容量不足とアクセス不能の問題の解決策

<<:  CSSの使用に関する深い理解 clear:both

>>:  パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

推薦する

Centos 7 システムの Tomcat サーバーの詳細な分析

目次1. tomcatの起源1. Tomcat アプリケーションのシナリオ2. Tomcatに必要な...

InnoDB タイプの MySql によるテーブル構造とデータの復元

前提条件: データベースを復元するために必要な .frm ファイルと .ibd ファイルを保存します...

フォームの読み取り専用属性と無効な属性についての簡単な説明

フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...

Vue.jsはElement-uiを使用してナビゲーションメニューを実装します

この記事では、Element-uiを使用してvue.jsでナビゲーションメニューを実装するための具体...

a タグにはテキストと画像があります。テキストを非表示にして画像のみを表示するにはどうすればよいでしょうか?

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

Vue のループフォーム項目例の詳細な説明

場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...

Vue カプセル化コンポーネント アップロード画像コンポーネント

この記事の例では、参考のためにvueアップロード画像コンポーネントの具体的なコードを共有しています。...

Linux に MySQL 8.0.x をインストールするための完全な手順

マイグレーションMySQL 入門MySQL はもともとオープンソースのリレーショナル データベース管...

Windows 環境での MySQL の解凍、インストール、バックアップ、復元

システム環境はserver2012です1. MySQLの解凍バージョンをダウンロードし、インストール...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

W3C チュートリアル (10): W3C XQuery アクティビティ

XQuery は、XML ドキュメントからデータを抽出するための言語です。 XQuery は、XML...

Zabbixを使用してOracleテーブルスペースの操作プロセスを監視する

0. 概要Zabbix は非常に強力なオープンソースの監視ツールです。以下では、Zabbix がテー...

JSはフロントエンドのページング効果を実現します

この記事の例では、フロントエンドのページング効果を実現するためのJSの具体的なコードを参考までに共有...

CSS 前景と背景の自動カラーマッチング技術の紹介 (デモ)

1. カラーマッチング効果のプレビュー下の GIF に示すように、ボタンの背景色が徐々に薄くなると...