Docker におけるイメージとコンテナーの違い: 1. イメージはさまざまな環境やサービスを含むテンプレートであるのに対し、コンテナーはイメージのインスタンスです; 2. イメージは実行できず、静的です。一方、コンテナは実行可能で動的です。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
1. Docker イメージ
Docker イメージとコンテナーの違いを理解するには、次のようにします。 Docker コンテナー、確かに簡単ではありません。
Linux カーネルがレイヤー 0 であると仮定すると、Docker をどのように実行しても、Docker はカーネル層の最上位で実行されます。この Docker イメージは読み取り専用のイメージで、レイヤー 1 にあります。変更したり、状態を保存したりすることはできません。
Docker イメージは別の Docker イメージの上に構築でき、このカスケード関係は多層化できます。最初のレイヤーの画像レイヤーをベース画像(Base Image)と呼び、他のレイヤー(最上位レイヤーを除く)の画像を親画像(Parent Image)と呼びます。これらのイメージは、親イメージからすべてのプロパティと設定を継承し、独自の構成を Dockerfile に追加します。
Docker イメージはイメージ ID によって識別されます。イメージ ID は 64 文字の 16 進文字列です。ただし、イメージを実行するときは、通常、イメージを参照するためにイメージ ID を使用するのではなく、イメージ名を使用します。有効なローカル イメージをすべてリストするには、コマンド
# docker images
を使用できます。ミラーはさまざまなバージョンとして公開できます。このメカニズムはタグと呼ばれます。
上の図に示すように、neo4j イメージには、最新バージョンと 2.1.5 バージョンの 2 つのバージョンがあります。
プル コマンドを使用して、指定したラベルを追加できます:
# docker pull ubuntu:14.04 # docker pull ubuntu:12.04
2. Docker コンテナー
Docker コンテナーは、次のコマンドを使用して作成できます。
# docker run imagename
すべての画像レイヤーの上に書き込み可能なレイヤーが追加されます。この書き込み可能な層には CPU 上で実行中のプロセスがあり、実行中と終了という 2 つの異なる状態があります。これがDockerコンテナです。 docker run を使用してコンテナを起動すると、Docker コンテナは実行状態になり、Docker コンテナを停止すると終了状態になります。
Docker コンテナーを実行している場合、実行状態から停止状態までのすべての変更はコンテナーのファイル システムに永続的に書き込まれます。コンテナへの変更は、Docker イメージではなく、コンテナのファイル システムに書き込まれることに注意してください。
同じイメージを使用して複数の Docker コンテナを起動できます。これらのコンテナは起動後にすべてアクティブになり、互いに分離されます。いずれかのコンテナに加えた変更は、そのコンテナ自体にのみ制限されます。
コンテナの基礎となるイメージが変更されても、現在実行中のコンテナは影響を受けず、自動更新は行われません。
コンテナを新しいバージョンのイメージに更新する場合は、データ構造が正しい方法で構築されるように注意する必要があります。そうしないと、コンテナ内のすべてのデータが失われる可能性があります。 。
コンテナ ID を定義する 64 文字の 16 進文字列。コンテナの一意の識別子です。コンテナ間の相互作用はコンテナ ID によって識別されます。コンテナ ID の文字は長すぎるため、通常はコンテナ ID の最初の 4 文字を入力するだけで済みます。もちろん、コンテナー名を使用することもできますが、4 文字のコンテナー ID を使用する方が明らかに簡単です。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がDocker のイメージとコンテナの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。