ホームページ >システムチュートリアル >Linux >CentOS 上の Docker のデフォルトのイメージとコンテナーのストレージ パスを変更する

CentOS 上の Docker のデフォルトのイメージとコンテナーのストレージ パスを変更する

WBOY
WBOY転載
2024-01-09 11:22:32679ブラウズ
###導入### Docker イメージは読み取り専用のテンプレートです。このイメージは、Docker コンテナーの作成に使用できます。Docker は、イメージを作成したり既存のイメージを更新したりするための非常にシンプルなメカニズムを提供し、ユーザーは他のユーザーから直接ダウンロードすることもできます。 - すぐに使用できるように作成されたイメージ。 ####1.なぜですか?
通常、docker を使い始めるとき、Docker がイメージとコンテナーを保存するために使用するデフォルトのディレクトリについてはあまり気にしません。 Docker をさらに実験する場合、Docker が多くのスペースを占有し始めたときにパニック ボタンを押す必要があります。それでは、Docker のデフォルトの保存場所を変更する方法のトラブルシューティングに移ります。多くの Web サイトやフォーラムで多くのトラブルを経験しましたが、CentOS7 ホスト上の Docker イメージとコンテナーのデフォルト ディレクトリを変更する手順がわかりません。この投稿では、Centos7 に固有の手順を説明します (RHEL7 にも適用されます)。 Debian については、インターネット上で多くのドキュメントや「ハウツー」記事を見つけることができましたが、Centos7 についてはあまり見つかりませんでした。 ###2.どうやって?

Docker のデフォルトのストレージ場所を変更しようとする場合、いくつかの重要な情報を知っておく必要があります。

Docker が現在使用しているデフォルトのストレージの場所

Docker によって現在使用されているストレージ ドライバー

画像とコンテナを保存するための新しいストレージスペース

Docker のデフォルトの場所は /var/lib/docker で、ここに現在のイメージとコンテナーがすべて保存されます。実行中のコンテナがある場合は、それらを停止し、実行中のコンテナがないことを確認してから、次のコマンドを実行して、Docker が現在使用しているストレージ ドライバーを確認します。 (なぜそれが記録されるかについては、後の記事でわかります)

リーリー

出力情報で、「Storage Driver」行を探して書き留めます。私のホストマシンにはdevicemapperがあります。次のステップは、Docker サービスを停止することです

リーリー

ドロップインファイルを作成する

次のステップでは、/etc/systemd/system/docker.service.d ディレクトリにドロップイン ファイル "docker.conf" を作成します。デフォルトの docker.service.d フォルダは存在しません。したがって、最初に作成する必要があります。

リーリー

ドロップイン ファイルを作成する理由は、Docker サービスが docker.conf ファイルに記述されている特定のパラメーターを使用し、/lib/systemd/system/docker 内のデフォルト サービスで使用されるパラメーターを置き換えることです。 .service ファイルをカバーします。ドロップインについて詳しく知りたい場合は、system.unit のドキュメントを読んでください

新しい保管場所を定義する

ここで docker.conf を開いて次の内容を追加します:

リーリー 保存して VI エディタを終了します。/mnt/new_volume は新しいストレージの場所、devicemapper は現在 docker で使用されているストレージ ドライバーです。ストレージ ドライバーが異なる場合は、前の手順で確認してメモした値を入力します。さまざまなストレージ ドライブの詳細については、Docker の公式ドキュメントを参照してください。これで、サービス デーモンをリロードし、Docker サービスを開始できるようになります。これにより、新しいイメージとコンテナーが保存される場所が変わります。 リーリー

すべてが正常であることを確認するには、 # docker info コマンドを実行して Docker ルート ディレクトリを確認します。ディレクトリは /mnt/new_volume

に変更されます。

既存のコンテナーとイメージがすでにある場合はどうすればよいですか?

既存のコンテナーとイメージを新しい場所に移行する場合は、docker.conf を変更した後にデーモンをリロードせず、docker サービスを開始してください (

注: 既存のコンテナーとイメージを保持する必要がないため、次のことは試していませんが、これらの手順は機能するはずです。問題や代替方法が発生した場合は、以下にコメントしてください。投稿を修正させていただきます。思い切って行動を起こす前に、データをバックアップしてください。 リーリー

ソフトリンクの作成 (

リーリー

次に、デーモンをリロードし、Docker サービスを開始します。 (

リーリー

既存のデータはソフト リンクのソース ディレクトリに存在し、新しいコンテナとイメージは新しい場所、つまり /mnt/new_volume/docker に保存されます。確認するには # docker info を実行します。

...出力を省略します

リーリー

...出力を省略します

注: 本文中に斜体や横線が入っているフォントは、原文の作成者に誤りがあることを意味します (英語が下手ですので、原文の意味の誤解がある場合は、指摘してください)時間があるので、お気軽に教えてください)、関連するポジションにはコメントがあります。

以上がCentOS 上の Docker のデフォルトのイメージとコンテナーのストレージ パスを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。