システムの初期のパーティション分割により、オペレーティング システム内の対応する / パーティションは大きくなりすぎず、/var ディレクトリは個別にパーティション分割されません。 Docker サービスを実行すると、長期間使用すると、元々大きかったパーティションがだんだんと不足してきます。この問題にもっとうまく対処するにはどうすればよいでしょうか? 1. ソフトリンクを使用するオペレーティング システムでは、デフォルトでは Docker コンテナの保存場所は /var/lib/docker ディレクトリの下にあることがわかっています。次のコマンドで具体的な場所を確認できます。 #デフォルトの保存場所$ sudo docker info | grep "Docker Root Dir" デフォルトのストレージ容量が不足している問題を解決する最も直接的かつ効果的な方法は、このディレクトリに新しいパーティションをマウントすることです。ただし、元のシステム スペースが変更されていない場合は、ソフト リンク方式を採用してイメージとコンテナーのストレージ パスを変更し、同じ目的を達成します。 # Dockerサービスを停止します $ systemctl restart docker # Dockerサービスを停止します $ service docker stop 次に、/var/lib/docker ディレクトリ全体を、スペースをあまり占有しない宛先パスに移動します。この時点で Docker を起動すると、ストレージ ディレクトリは /var/lib/docker ディレクトリのままですが、実際にはデータ ディスク /data/docker に保存されていることがわかります。 # 元のコンテンツを移動する $ mv /var/lib/docker /data/docker # リンク $ ln -sf /data/docker /var/lib/docker 2. コンテナの起動パラメータを指定する設定ファイルで、コンテナの起動パラメータ --graph=/var/lib/docker を指定して、イメージとコンテナのストレージ パスを指定します。 Docker の構成ファイルでは、バックグラウンド プロセスのパラメータのほとんどを設定できますが、その保存場所はオペレーティング システムごとに異なります。 Ubuntu での場所は /etc/default/docker ファイルで、CentOS での場所は /etc/sysconfig/docker ファイルです。 # CentOS6 # Ubuntu はデフォルトで selinux メカニズムを有効にするため OPTIONS=--graph="/data/docker" --selinux-enabled -H fd:// # CentOS7 # docker.service ファイルを変更し、-g パラメータを使用して保存場所を指定します $ vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd --graph /新しいパス/docker #ウブントゥ # Ubuntu はデフォルトで selinux メカニズムを有効にしないため OPTIONS=--graph="/data/docker" -H fd:// 再起動後、Docker パスは /data/docker に変更されます。 # 設定ファイルを再読み込みします $ sudo systemctl daemon-reload # docker サービスを再起動します $ sudo systemctl restart docker.service Docker バージョンが 1.12 以上の場合は、daemon.json ファイルを変更したり、新しいファイルを作成したりできます。変更は Docker サービスを再起動せずにすぐに有効になります。 # 設定ファイルを変更する $ vim /etc/docker/daemon.json { 「レジストリミラー」: ["http://7e61f7f9.m.daocloud.io"], "グラフ": "/新しいパス/docker" } 3. システムの下に設定ファイルを作成する/etc/systemd/system/docker.service.d ディレクトリにドロップイン ファイル docker.conf を作成します。デフォルトでは、docker.service.d フォルダーは存在しないため、最初に作成する必要があります。 Drop-In ファイルを作成する理由は、Docker サービスが docker.conf ファイルに記載されている特定のパラメータを使用し、/lib/systemd/system/docker.service ファイル内のデフォルト サービスによって使用されるパラメータを上書きするためです。 # 新しい保存場所を定義する $ sudo vi /etc/systemd/system/docker.service.d/docker.conf [サービス] ExecStart=/usr/bin/dockerd --graph="/data/docker" --storage-driver=devicemapper 保存して vim エディターを終了します。/data/docker は新しいストレージの場所で、devicemapper は現在 Docker で使用されているストレージ ドライバーです。ストレージ ドライバーが異なる場合は、最初の手順で確認して書き留めた値を入力します。これで、サービス デーモンをリロードして Docker サービスを開始できます。これにより、新しいイメージとコンテナーが保存される場所が変更されます。すべてが正常に実行されたことを確認するには、docker info コマンドを実行して Docker ルート ディレクトリを確認します。 # 設定ファイルを再読み込みします $ sudo systemctl daemon-reload # dockerサービスを再起動します $ sudo systemctl start docker Docker イメージのデフォルトの保存場所を変更する方法についての記事はこれで終わりです。Docker イメージのデフォルトの保存場所の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL で高性能なインデックスを作成するための完全な手順
>>: JavaScript スコープチェーンの基本原理のグラフィカルな説明
ConcurrentHashMapを学習しましたが、どのように適用すればよいかわかりませんか? To...
この記事は主に、Nginx セッション共有の問題に対する解決策を紹介します。記事内のサンプル コード...
3 つのテーブルが接続されています。テーブル A のフィールド a はテーブル B のフィールド b...
始める前にクラウドサーバーを持っています。私のはTencent Cloud Server (Cent...
コマンドを実行します: docker run --name centos8 -d centos /b...
1. まずファイルを作成します(ファイルを配置するディレクトリにcdします) myTest.py を...
目次使用EsLintの使用プロフィールを追加するPrettierの使用huskyとlint-stag...
次のグラフは、100 個の異なる要素で iframe を作成するのにどれくらいの時間がかかるかを示し...
(Win7 システム) VMware 仮想マシンのインストール チュートリアルVMware は仮想マ...
<tbody> タグは、テーブル本体のスタイルを定義するために使用されます。基本構文 &...
インストール環境: CentOS7 64ビットMINI版公式ソースコードのコンパイルおよびインストー...
SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...
目次1. 型2. インスタンス3. 違い1. 型typeof 演算子は、評価されていないオペランドの...
基本概念操作の前に、まずいくつかの基本的な概念を理解する必要がありますディスクLinux システムで...
目次1. 基本1.参照2. 参照3. 参照4. 最適な使い方2. 詳細な1. なぜrefが必要なのか...