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初心者のための基本操作のまとめ

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

推薦する

Vue3のdefineComponentの役割についての簡単な説明

目次defineComponent オーバーロード関数開発実務defineComponent 関数は...

ユーザーエクスペリエンスの要素またはWebデザインの要素

システムとユーザー環境の設計<br />Apple システムの成功は、そのシステム アー...

MySQLのバージョンアップ方法を超詳しく解説

目次1. はじめに2. データベースをバックアップする3. オリジナルのMysqlをアンインストール...

Linux 上の LAN 内のすべてのホスト名 (コンピュータ名) をすばやく一覧表示するスクリプト

最近、LAN 内のすべてのホスト名を一覧表示する必要があります (SMB プロトコル)。しかし、fi...

MySql の null 関数の使用の共有

MySql の null に関する関数IFNULL ISNULL NULLIF IFNULL使用法:...

MySQL MyISAM デフォルト ストレージ エンジンの実装原則

デフォルトでは、MyISAM テーブルはディスク上に .frm (テーブル構造ファイル)、.MYD ...

CentOS 7.4 に MySQL 5.7 を手動でインストールする方法

MySQL データベースは、特に JAVA プログラマーの間で広く使用されています。クラウド データ...

getdata テーブル テーブル データ 結合 mysql メソッド

パブリック関数 json_product_list($where, $order){ グローバル ...

MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

最近、特に異常なビジネス需要があり、テーブルがあります テーブル「デモ」を作成します( `id` i...

HTML タグ sup と sub の応用の紹介

HTML タグ: 上付き文字HTML では、<sup> タグは上付き文字のテキストを定義...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

Django+vue 登録とログインのサンプルコード

登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...

proxy_pass がパス パスに従って転送する場合の "/" 問題の詳細な説明

nginx で proxy_pass を設定するときに、^~ に従ってパスを一致させる場合は、pro...

Docker プライベート ウェアハウスを構築する (自己署名方式)

作成したイメージを一元管理し、サービスの展開を容易にするために、プライベート Docker リポジト...

CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...