Dockerはローカルイメージとコンテナの保存場所を設定します

Dockerはローカルイメージとコンテナの保存場所を設定します

指定したサイズより大きいファイルを検索するには、find コマンドを使用します。

 検索 / -type f -size +10G

ディレクトリを除外する

検索 / -path "/media/xww" -type f -size +10G

Docker ローカルイメージとコンテナの保存場所を変更する方法

方法1: ソフトリンク

デフォルトでは、Dockerは次の場所に保存されます: /var/lib/docker
次のコマンドを実行すると、特定の場所を表示できます。

sudo docker info | grep "Docker ルート ディレクトリ"

この問題を解決する最も直接的な方法は、もちろんこのディレクトリにパーティションをマウントすることですが、データ ディスクには他のものも含まれており、管理するのは決して簡単ではないため、イメージとコンテナーのストレージ パスを変更する方法を使用して目的を達成します。

この方法はソフト接続を通じて実装されます。

まず、Docker サービスを停止します。

systemctl dockerを再起動します
またはサービスdocker stop

次に、/var/lib/docker ディレクトリ全体を宛先パスに移動します。

mv /var/lib/docker /root/data/docker
ルートディレクトリの /var/lib/docker にデータを書き込む

この時、Dockerを起動すると、ストレージディレクトリは/var/lib/dockerのままですが、実際はデータディスク上に保存されています。データディスク上の容量の変化が確認できます。

方法2: 拡張可能な論理ボリューム

デフォルトでは、Docker の保存場所は次のとおりです。
ドッカー
通常、ルート パーティションは大きくしすぎません。一般的に、より多くの画像やコンテナを保存するための解決策は2つあります。
1. 大きなパーティションを /var/lib/docker にマウントします。
一般的には、グループのその後の拡張を容易にするために、論理パーティション lvm を作成することが選択されます。

a. 新しいパーティションを作成し、フォーマットします。PS: 以下の操作では、既にボリューム グループが存在し、論理ボリュームを直接作成できることを前提としています。または、論理ボリュームを自分で作成するか、論理ボリュームを使用せずにパーティションを直接使用することもできます: lvcreate -L 300G lv_docker vg_home  
mkfs.ext4 /dev/vg_home/lv__docker  
    b. 新しいパーティションを一時マウントポイント[plain]にマウントします。view plain copy
/mnt/docker ディレクトリに移動します  
/dev/vg_home/lv_docker /mnt/docker/ をマウントします。 

    c. dockerを停止した後、/var/lib/dockerの下のデータを一時マウントポイント[plain]にコピーします。
サービス docker 停止  
cp -r /var/lib/docker/* /mtn/docker 

    d. /var/lib/dockerを//var/lib/docker.bakに変更し、/var/lib/dockerを作成します。
[プレーン] 表示 プレーン コピー
mv /var/lib/docker{,.bak}  
/var/lib/docker ディレクトリに移動します 

    e. 新しいパーティションを /var/lib/docker にマウントし、起動時に自動的にマウントするように設定します。
[プレーン] 表示 プレーン コピー
/dev/vg_home/lv_docker /var/lib/docker をマウントします。  
vim /etc/fstab  
---  
 /dev/vg_home/lv_docker /docker_data ext4 デフォルト 0 0  
----  

     f. dockerが利用可能かどうか、データが完全かどうかを確認します [plain] view plain copy
Docker イメージ  
ドッカーps -a  

     g. 確認後、一時マウントポイントをアンインストールし、/var/lib/docker.bakを削除します。
[プレーン] 表示 プレーン コピー
/mnt/docker をアンマウントする  
rm -rf /var/lib/docker.bak

方法3: イメージとコンテナの保存パスを変更する

イメージとコンテナの保存パスを指定するためのパラメータは –graph=/var/lib/docker です。起動パラメータを指定するには、構成ファイルを変更するだけで済みます。

Docker 構成ファイルでは、バックグラウンド プロセスのほとんどのパラメータを設定できます。保存場所はオペレーティング システムによって異なります。Ubuntu の場所は /etc/default/docker、CentOS の場所は /etc/sysconfig/docker です。

CentOS の場合は、次の行を追加します。

オプション=--graph="/root/data/docker" --selinux-enabled -H fd://

Ubuntu の場合は、次の行を追加します (Ubuntu ではデフォルトで selinux が有効になっていないため)。

オプション=--graph="/root/data/docker" -H fd://
# または DOCKER_OPTS="-g /root/data/docker"

最後に再起動すると、Docker パスが /root/data/docker に変更されます。
動作しない場合は、次の操作を実行してください。

デフォルトのdockerコマンド  
設定情報を追加する DOCKER_OPTS="--graph=/home/docker"  
保存してサービスを終了し、dockerを再起動します。  
設定が有効にならないことが判明しました解決策:
 mkdir -p /etc/systemd/system/docker.service.d  
 /etc/systemd/system/docker.service.d/Using_Environment_File.conf を編集します。  
ファイルが存在しない場合は自分で作成し、次の内容を追加します [サービス]  
環境ファイル=-/etc/default/docker  
実行開始=  
ExecStart=/usr/bin/dockerデーモン -H fd:// $DOCKER_OPTS  
設定をロードし、サービスを再起動します。systemctl daemon-reload  
サービスdockerの再起動  
設定が有効かどうかを確認する

ローカルイメージとコンテナの保存場所のDocker設定に関するこの記事はこれで終わりです。ローカルイメージとコンテナの保存場所のDocker設定の詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerコンテナでは、イメージを簡素化してサイズを縮小する方法を詳しく説明しています
  • Dockerはコンテナを通じてイメージを生成し、詳細にDockerCommitを送信します
  • Skywalking は Docker イメージをコンテナ化してデプロイし、テストから可用性まで k8s を構築します。
  • Docker イメージとコンテナ サービスの IDEA リモート管理の実装
  • Dockerコンテナ練習用イメージウェアハウス
  • Docker コンテナの実践: イメージとコンテナの仕組み

<<:  MySQL初心者のための基本操作のまとめ

>>:  ドキュメントの場所の比較

推薦する

Vueがビデオアップロード機能を実装

この記事では、参考までに、ビデオアップロード機能を実現するためのVueの具体的なコードを紹介します。...

VUE と Canvas を使用して Thunder Fighter タイピング ゲームを実装する方法

今日は、サンダーファイタータイピングゲームを実装します。ゲームプレイは非常に簡単です。それぞれの「敵...

vue-cli を使用してプロジェクトを作成し、webpack でパッケージ化する方法

1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...

実用的な MySQL + PostgreSQL バッチ挿入更新 insertOrUpdate

目次1. 百度百科事典1. MySQL 2. PostgreSQL 3. MySQL に対する Po...

Jenkins統合Dockerプラグインの問題を解決するいくつかの方法

目次背景質問1エラー 2エラー 3エラー4要約する背景テスト環境では、docker プラグインを統合...

mysql エラー 1033 を解決する方法: ファイル内の情報が正しくありません: 'xxx.frm'

問題の説明1. 収集ステーションのデータベース2. データが無い状態での移動は問題ありませんが、デー...

NavicatがMySQL8.0.11に接続するとエラー2059が発生する

間違いNavicat Premium を使用して MySQL に接続すると、次のエラーが発生します。...

JS 4つの楽しいハッカー背景効果コードを共有する

目次例1例2例3例4例1 <html> <ヘッド> <title>...

よく使用される MySQL 関数の完全なリスト (分類および要約)

1. 数学関数ABS(x) xの絶対値を返します。 BIN(x) xの2進値を返します(OCTは8...

MySQL パフォーマンス最適化のヒント

MySQL パフォーマンスの最適化MySQL はインターネット企業で広く使用されており、MySQL ...

MySQL の日付型の単一行関数コードの詳細な説明

MySQL の日付型単一行関数: CURDATE()またはCURRENT_DATE()は現在の日付を...

MySQL関連のツールをいくつかお勧めします

序文:インターネット技術の継続的な発展に伴い、MySQL 関連のエコシステムはますます充実し、ますま...

MySQL 8.0.20 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.20 winx64 のインストールと設定方法を次のように説明します...

vue3 のさまざまなファイルタイプのプレビュー機能の例

目次序文1. オフィス文書の種類のプレビュー2. PDF形式のプレビュー3. 画像の種類4. ビデオ...

MySQL ストアド プロシージャで case ステートメントを使用する詳細な例

この記事では、例を使用して、MySQL ストアド プロシージャでの case ステートメントの使用方...