ホームページ >運用・保守 >Linuxの運用と保守 >Linux と Docker: コンテナーの永続ストレージとデータ管理を実行するにはどうすればよいですか?

Linux と Docker: コンテナーの永続ストレージとデータ管理を実行するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-07-29 11:49:581447ブラウズ

Linux と Docker: コンテナーの永続ストレージとデータ管理を実行するにはどうすればよいですか?

コンテナ化テクノロジーの適用において、コンテナーの永続ストレージとデータ管理は非常に重要な部分です。この記事では、Linux と Docker でコンテナーの永続ストレージを実装する方法を紹介し、対応するコード例を示します。

1. Docker のコンテナ永続ストレージ

Docker では、コンテナはイメージを通じて作成され、イメージ自体は読み取り専用です。したがって、コンテナーを削除すると、コンテナー内のデータも失われます。コンテナの永続ストレージを実装するには、次のメソッドを使用できます。

  1. データ ボリューム (ボリューム) の使用

データ ボリュームは、Docker で最も一般的に使用される永続ストレージ方法の 1 つです。データ ボリュームを作成し、それをコンテナーの指定されたパスにマウントすることで、コンテナー データの永続的なストレージを実現できます。

まず、データ ボリュームを作成します:

$ docker volume create myvolume

次に、以下に示すように、docker run コマンドを使用してデータ ボリュームをコンテナーにマウントできます。 #

$ docker run -v myvolume:/data myimage

このようにして、コンテナ内の

/data パスが myvolume という名前のデータ ボリュームにマッピングされます。コンテナが削除されても、データボリュームは自動的に削除されず、データは保持されます。

    バインド マウントの使用
バインド マウントとは、ホスト上のディレクトリをコンテナ内の指定されたパスにマウントすることを指し、これによりコンテナ データの永続的なストレージが実装されます。

以下に示すように、

docker run コマンドを使用してマウントをバインドできます。

$ docker run -v /host/path:/container/path myimage

このようにして、ホスト # 上の

/host/path##ディレクトリはコンテナ内の /container/path パスにマップされます。コンテナが削除されても、ホスト上のデータは残ります。 2. Linux でのコンテナ永続ストレージ

Docker でのコンテナの永続ストレージに加えて、Linux の基盤テクノロジーを通じてコン​​テナ データ管理を実装することもできます。

共有ファイル システムの使用
  1. Linux では、共有ファイル システムを使用してコンテナの永続ストレージを実現できます。ホスト上にファイル システムを作成し、それをコンテナにマウントして、コンテナ データの永続的なストレージを実現できます。

まず、ext4 ファイル システムを使用するなど、ホスト上にファイル システムを作成する必要があります。次のコマンドを使用できます。

$ mkfs.ext4 /dev/sdb1

その後、

を使用できます。 mount

コマンドを実行すると、ファイル システムがコンテナ内の指定されたパスにマウントされます: <pre class='brush:php;toolbar:false;'>$ mount /dev/sdb1 /container/path</pre>この方法では、コンテナ内の

/container/path

パスが共有ファイル システム。コンテナが削除されても、データは保持されます。

Storage Volume Manager の使用
  1. Storage Volume Manager は、データのスナップショット、クローン作成、移行などを実現できる Linux の高度な機能です。ストレージ ボリューム マネージャーを使用して、コンテナー データ管理を実装できます。

まず、LVM (Logical Volume Manager) などのストレージ ボリューム マネージャー ソフトウェア パッケージをインストールする必要があります。

$ apt-get install lvm2

次に、

lvcreate

コマンドを使用して、論理ボリュームの作成 (論理ボリューム): <pre class='brush:php;toolbar:false;'>$ lvcreate -L 1G -n myvolume myvg</pre>この方法で、サイズ 1GB の論理ボリュームを作成し、

myvolume

という名前を付けました。 次に、

mkfs

コマンドを使用して、論理ボリューム上にファイル システムを作成できます。 <pre class='brush:php;toolbar:false;'>$ mkfs.ext4 /dev/myvg/myvolume</pre>最後に、

mount

コマンドを実行すると、論理ボリュームがコンテナ内の指定されたパスにマウントされます: <pre class='brush:php;toolbar:false;'>$ mount /dev/myvg/myvolume /container/path</pre>このようにして、コンテナ内の

/container/path

パスが論理ボリュームとしてマウントされます。コンテナが削除されても、データは残ります。 要約すると、Docker であっても Linux であっても、さまざまな方法でコンテナの永続ストレージとデータ管理を実現できます。適切な方法を合理的に選択することで、コンテナ内のデータをより適切に管理および維持できます。

この記事が、コンテナーの永続ストレージとデータ管理の理解と使用に役立つことを願っています。

リファレンス:

Docker ドキュメント: https://docs.docker.com/storage/
  • Linux ドキュメント: https://www.kernel.org /doc/html/latest/admin-guide/devices/lvm.html

以上がLinux と Docker: コンテナーの永続ストレージとデータ管理を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。