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)

推薦する

Vue コンポーネントはどのように解析され、レンダリングされるのでしょうか?

序文この記事では、Vue コンポーネントがどのように解析され、レンダリングされるかを説明します。 V...

Vueグローバルカスタム命令の実践 モーダルドラッグ

目次背景実装のアイデア成果を達成する背景最近取り組んでいるプロジェクトは、Vue2 で構築されたプロ...

JSはGMTとUTCのタイムゾーンを完全に理解しています

目次序文1. GMT GMTとはGMTの歴史2. UTC UTCとはUTC は次の 2 つの部分で構...

HTML でよく使用されるエスケープ文字の概要

HTML でよく使用されるエスケープ文字をまとめると次のようになります。 &nbsp; 改行...

海外の無料写真素材サイトベスト9

良い画像素材のウェブサイトを見つけるのは難しいです。特に無料です。良い写真には非常に目を引く視覚効果...

ウェブページ内の 2 つのボックス モデル (W3C ボックス モデル、IE ボックス モデル)

Web ページ ボックス モデルには 2 種類あります。 1: 標準 W3C ボックス モデル。2:...

Linuxブートサービスを起動する2つの方法

目次rc.local メソッドchkconfig メソッドrc.local メソッド1 まず自動的に...

Javascript での JSBridge に関する予備的研究

目次JSBridgeの起源JSBridgeの双方向通信原理JSはネイティブを呼び出すネイティブコール...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

Windows 10 システムで nginx ファイル サーバーを構成するためのグラフィック チュートリアル

Nginx の公式 Web サイトから Windows バージョンの Nginx をダウンロードしま...

CentOS 7.5 に Docker をインストールする詳細なチュートリアル

Docker入門Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテ...

Linux C ログ出力コード テンプレート サンプル コード

序文この記事は主に Linux C でのログ出力コード テンプレートに関する関連コンテンツを紹介し、...

Windows 2019 アクティベーション チュートリアル (Office2019)

数日前、Server2019の正式版がリリースされたことを知り、面白半分でインストールしてみることに...