Dockerは一種のコンテナですが、コンテナとは何ですか?ソフトウェア開発では、「このプログラムは明らかに私のコンピューターでは問題ありませんが、なぜ顧客のコンピューターで問題があるのですか?」という問題に遭遇することがよくあります。これは、各コンピューターのソフトウェアとハードウェアに一貫性がないためです。
ソフトウェアが開発され、このプラットフォームで直接プログラムを実行できる顧客に送信される、統合された仮想ソフトウェアおよびハードウェアプラットフォームはありますか?はい、これはコンテナです。コンテナにはさまざまな種類がありますが、Dockerの方が優れています。
VMwareと比較すると、Dockerは高速で実行される軽量のソフトウェアです。
Dockerを使用する前に、イメージとコンテナー、つまりイメージとコンテナーの2つの概念を理解する必要があります。このイメージは環境パッケージであり、任意のDockerプラットフォームに移動して実行できます。コンテナはイメージのインスタンスであり、1つのイメージで複数のコンテナを開始できます。
簡単に言えば、画像はWordソフトウェアのようなもので、製造元からリリースされており、変更することはできません。コンテナは、Wordソフトウェアを起動すると、複数のWordソフトウェアを起動し、各Wordソフトウェアで異なるドキュメントを書き込むことができます。
Dockerの中核は「ユニオンファイルシステム」ですが、どういう意味ですか?
2つのディレクトリがあるとします:下位と上位、それらはマージされた新しいディレクトリにマージできます。内容は次のとおりです。
合併の原則は何ですか?上位ディレクトリの優先度が高く、下位ディレクトリを上書きできます。下位ディレクトリは読み取り専用で、上位ディレクトリは読み取りと書き込みが可能です。このルールは、より具体的に解析できます。
①ファイル名とディレクトリが異なる場合、下位ディレクトリと上位ディレクトリのファイルとディレクトリは、元の構造に従ってマージされたディレクトリにマージされます。
②ファイル名は同じで、上位層のファイルのみが表示されます。
上図に示すように、下位ディレクトリと上位ディレクトリ、および下位ディレクトリdir_Aにはsame.txtファイルがありますが、マージされたディレクトリにマージされると、上位のみが表示され、下位は非表示になります。
③ディレクトリ名が同じ場合は、ディレクトリを1つのディレクトリにマージします。
上の図に示すように、下のディレクトリと上のディレクトリにdir_Aディレクトリがあります。ディレクトリとディレクトリ内のすべてのファイルは、マージされたdir_Aディレクトリにマージされます。ディレクトリに同じ名前のファイルがある場合は、上の図のdir_Aディレクトリに示すように、上のファイルのみが表示されます。 same.txtファイル。
ファイルを読み取るとき、上位ディレクトリにファイルがある場合は上位ディレクトリから読み取り、そうでない場合は下位ディレクトリから読み取ります。
ファイルを作成、変更、または削除する場合、上位ディレクトリのみが影響を受け、下位ディレクトリは読み取り専用であり、影響を受けません。
Dockerでは、イメージは下位層に読み取り専用ファイルを提供し、コンテナーは次のように上位層に読み取り可能および書き込み可能なファイルを提供します。
コンテナを起動すると、イメージによって提供される下位ファイルシステムに基づいて、読み取りおよび書き込み可能な上位ファイルシステムが作成されます。
複数のコンテナを起動する、つまり複数の上位層ファイルシステムを作成することができ、これらのコンテナの上位層ファイルシステムは相互に影響を与えません。
Recommended Posts