Dockerサーバーのストレージリソースプール不足問題の解決

Dockerサーバーのストレージリソースプール不足問題の解決

システム環境:

  • Dockerバージョン: 19.03.13
  • オペレーティングシステムのバージョン: CentOS 7.8

1. 問題の説明

最近、Docker run コマンドを実行してイメージを起動すると、Docker start image コマンドが正常に実行できず、次のエラー メッセージが表示されました。

エラー: デーモンからのエラー応答: devmapper: シン プールには 163051 個の空きデータ ブロックがありますが、これは最小必要数の 163840 個より少ないです。シン プールに空き領域を増やすか、dm.min_free_space オプションを使用して動作を変更してください。

2. 問題分析

エラー メッセージによると、問題は Docker Thin Pool のスペースが不足していることです。プールの空き領域を増やすか、dm.min_free_space オプションを使用してプールの空き領域のサイズを変更する必要があります。

次のコマンドを使用して、サーバー上の Docker 情報を表示し、リソースの使用状況を観察します。

$ docker情報

表示される内容は次のとおりです。

...
データ容量合計: 507.4GB
利用可能なデータ容量: 100.67GB
メタデータ使用領域: 100.4MB
メタデータスペース合計: 20.147GB
使用可能なメタデータ容量: 20.047GB
シンプールの最小空き容量: 100.74GB
遅延削除が有効: true
遅延削除が有効: true
延期削除されたデバイス数: 0
...

上記の情報から、シン プールの最小空き容量 = 100.74 GB、使用可能なデータ容量 = 100.67 であることがわかります。これは、使用可能なデータ容量がシン プールに必要な最小容量よりも少ないことを意味し、ミラーが正常に起動できなくなります。

3. 問題解決

1. Dockerのディスク使用量を確認する

次のコマンドを使用して、Docker ディスクの使用状況を表示できます。

$ docker システム df

タイプ 合計 アクティブサイズ 再利用可能
画像 500 12 38.31GB 34.5GB (90%)
コンテナ 64 21 157MB 4.109MB (2%)
ローカルボリューム 37 18 0B 0B
ビルドキャッシュ 0 0  

合計すると以下の情報が表示されます。

  • TYPE: リソースタイプ。
  • TOTAL: リソースの合計数。
  • ACTIVE: アクティブ状態のリソースの数。
  • SIZE: リソースによって使用されるスペースのサイズ。
  • RECLAIMABLE: 再利用可能なリソースのサイズ。

コンポーネントは次のとおりです。

  • 画像: 画像が占めるストレージ容量。
  • コンテナ: 起動したコンテナが占有するストレージ容量
  • ローカル ボリューム: ローカルにマウントされたボリュームによって使用されるストレージ スペース。
  • ビルド キャッシュ: ビルド キャッシュが占有するストレージ領域。

システムの使用状況を詳細に表示したい場合は、-v コマンドを使用して各リソースのストレージ使用状況の詳細を表示できます。

2. 再利用可能なストレージリソースのクリーンアップコマンドを実行する

Docker はストレージ リソースのリサイクル機能を提供します。コマンドは次のとおりです。

クリーンアップコマンドの詳細については、公式のDockerドキュメントを参照してください: docker system prune

$ docker システムプルーン

このコマンドは、未使用のコンテナ、ネットワーク、イメージ (ぶら下がっているものや参照されていないもの)、ボリューム (オプション) をすべてクリーンアップします。このコマンドを実行した後、しばらく待つと、十分なリソースが回復され、Docker イメージは通常の状態に戻ります。

要約する

これで、Docker サーバー上のストレージ リソース プールが不足する問題を解決する方法についての記事は終了です。Docker サーバー上のストレージ リソース プールが不足する問題を解決する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 既存のイメージを変更する Docker の詳細な説明 (コミット)
  • Dockerイメージ内のファイルを表示する方法
  • Docker Docker の保存場所を変更する コンテナイメージのサイズ制限を変更する操作

<<:  MySQL カーディナリティ統計の簡単な分析

>>:  HTMLフォーム要素の詳しい解説(パート1)

推薦する

Dockerコンテナの中国語言語パックの設定の問題を解決する

Dockerでdocker search centosを使用する場合docker pull dock...

CentOS 7 で RPM を使用して mysql5.7.13 をインストールする

0. 環境この記事のオペレーティング システム: CentOS 7.2.1511 x86_64 My...

IE ブラウザの HTML ハック タグの概要

コードをコピーコードは次のとおりです。 <!--[if !IE]><!-->...

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

ウェブページを最適化してメモリとCPUの使用率を削減

一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

配列をフィルタリングするJavaScript

この記事では、配列フィルタリングを実装するためのJavaScriptの具体的なコードを参考までに紹介...

JavaScript の for ループと二重 for ループの詳細な説明

forループfor ループは配列の要素をループします。文法: for (初期化変数; 条件式; 繰り...

経験豊富な人が、プロフェッショナルで標準化されたMySQL起動スクリプトの開発方法を紹介します。

シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Li...

Tomcatが親の委任メカニズムを破壊する方法についての簡単な説明

目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...

Nginx 500 内部サーバーエラーの解決方法

今日、Nginxを使っていたら500エラーが発生しました。エラーコードを検索してみんなに共有しました...

CentOS8でのDockerの使い方の詳しい説明

1. CentOS8でのDockerのインストール カール https://download.doc...

Web デザイン: Web ミュージックの実装テクニック

<br />Web ページに音楽を挿入する場合、サフィックスに応じて異なるコードを記述す...

Dockerでイメージをプルするための手順を完了する

1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...