Docker イメージは特別なファイル システムであり、コンテナの実行時に必要なプログラム、ライブラリ、リソース、構成ファイル、その他のファイルを提供するだけでなく、実行時に用意されたいくつかの構成パラメータ (匿名ボリュームなど) も含まれています。 、環境変数、ユーザーなど); イメージには動的データが含まれず、その内容はビルド後に変更されません。
この記事の動作環境: ubuntu 18.04 システム、Docker バージョン 20.10.11、Dell G3 コンピューター。
Docker イメージとは正確には何ですか?
まずはイメージとは何かを理解してください:
オペレーティング システムがカーネルとカーネルに分かれていることは誰もが知っています。ユーザースペース。 Linux の場合、カーネルの起動後、ユーザー空間のサポートを提供するためにルート ファイル システムがマウントされます。 Docker イメージ (Image) はルート ファイル システムに相当します。たとえば、公式イメージ ubuntu:18.04 には、Ubuntu 18.04 最小システムのルート ファイル システムの完全なセットが含まれています。
Docker イメージ は特別なファイル システムであり、コンテナーの実行時に必要なプログラム、ライブラリ、リソース、構成、その他のファイルを提供するだけでなく、実行時に準備されたいくつかのファイルも含まれています。パラメータ (匿名ボリューム、環境変数、ユーザーなど)。イメージには動的データが含まれておらず、その内容は構築後に変更されません。
階層化ストレージ
イメージにはオペレーティング システムの完全なルート ファイル システムが含まれているため、そのボリュームが膨大になることが多いため、Docker を設計する際には、階層ストレージ アーキテクチャとして設計されたテクノロジー。したがって、厳密に言えば、イメージは ISO のようなパッケージ化されたファイルではありません。イメージは単なる仮想概念です。実際の表現はファイルではなく、一連のファイル システム、つまり複数のファイル システムの組み合わせで構成されます。レイヤー ファイル システムの構成。
イメージが構築されるとき、前のレイヤーが次のレイヤーの基礎となり、レイヤーごとに構築されます。各レイヤーが構築されると、再度変更されることはなく、後続のレイヤーでの変更は、そのレイヤーでのみ発生します。たとえば、前のレベルでファイルを削除する操作では、実際には前のレベルのファイルが削除されず、現在のレベルでファイルに削除済みのマークが付けられるだけです。最後のコンテナが実行されると、このファイルは表示されませんが、実際には、ファイルは常にイメージに従います。したがって、イメージを構築するときは、各レイヤーには追加する必要があるものだけを含める必要があり、レイヤーの構築が完了する前に余分なものをクリーンアップする必要があります。
階層型ストレージの特性により、イメージの再利用とカスタマイズも容易になります。以前に構築したイメージをベース レイヤーとして使用し、さらに新しいレイヤーを追加して必要なものをカスタマイズし、新しいイメージを構築することもできます。
ミラーの構造については、今後の関連記事で詳しく説明します。
推奨学習: 「Docker ビデオ チュートリアル 」
以上がdocker イメージとは正確には何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。