Docker イメージ伝送の階層化; Docker イメージは階層的に構築されているため、イメージを構築するプロセスを分解し、他のサービスとの共通点を見つけて基本イメージに定式化します。 Dockerfile 指定すると、新しいレイヤーが作成されます。これによりディスク容量が節約されるため、Docker イメージの転送は階層化されます。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
イメージは、特定のソフトウェアを実行するために必要なものがすべて含まれた、軽量で実行可能な独立したソフトウェア パッケージです。アプリケーションと構成を、コード、ランタイムに必要なライブラリ、環境変数、構成ファイルなどを含む、形成され、提供可能で、展開可能なオペレーティング環境にパッケージ化します。この大規模なパッケージ化されたオペレーティング環境は、イメージ イメージ ファイルです。
Docker コンテナ インスタンスはイメージ ファイルを通じてのみ生成できます。
docker imagelayering
意味: イメージを構築するプロセスを分解し、他のサービスとの共通点を見つけて、それを基本イメージに定式化します。
利点: ディスク容量の節約、
画像をアップロード/ダウンロードする際、基本画像がすでに存在する場合、繰り返しアップロードとダウンロードが行われず、アップロードとダウンロードの速度が向上します
デメリット: 基本ミラーを変更すると、すべてのサブミラーが変更されます。
Docker イメージの階層化メカニズム
Docker イメージはレイヤーで構築されています。Docker について詳しく学ぶにつれて、Dockerfile 内の各仕様が新しいものを作成することが理解できるようになります。 .層。次の Dockerfile 命令を例に挙げます。
FROM ubuntu:20.04#基础镜像 COPY . /app#复制文件 RUN make /app#编译文件 CMD python /app/app.py#入口文件
上記の 4 つの命令は、この層によって各層に加えられた変更のみを記録し、これらの層は読み取り専用層です。コンテナーを開始するとき、Docker は最上部に読み取り/書き込みレイヤーを追加するコマンドを実行します。コンテナー内で行われたすべての変更 (ログの書き込み、ファイルの変更、削除など) は読み取り/書き込みレイヤーに保存されます。このレイヤーは通常、次の図に示すように、コンテナ レイヤーと呼ばれます。
実際、コンテナとイメージの主な違いは、コンテナがトップレベルの読み取りを追加することです。そしてレイヤーを書き込みます。コンテナーに対するすべての変更はこのレイヤーで行われ、イメージは変更されません。これは、前述の COW (コピー オン ライト) テクノロジです。コンテナーはファイルを読み取る必要がある場合、下部の読み取り専用レイヤーから直接読み取ることができます。ファイルを変更する必要がある場合、ファイルは変更のために上部の読み取り/書き込みレイヤーにコピーされ、読み取り専用レイヤーにコピーされます。は変わらないままです。
各コンテナには独自の読み取り/書き込みレイヤーがあるため、複数のコンテナで同じイメージを使用できます。さらに、コンテナが削除されると、対応する読み取り/書き込みレイヤーも削除されます。複数のコンテナが必要な場合は、データを共有または永続化するには、Docker ボリュームを使用できます。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がDocker イメージのトランスポート階層化ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。