Windows コンテナーについて

これは、すべてが揃ったキッチンのようなものです。 この単一の部屋の中には、料理、パン、流し台など、料理をクックするために必要なものがすべて含まれています。 これは、コンテナーです。

黒いボックスの内側に黄色の壁紙が付いた、完全に協力したキッチンの図です。

ここでは、建物内にこのキッチンをスライドさせて、ブックを本棚にスライドするということを想像してみてください。 キッチンが機能する必要があるものはすべて既に用意されているため、料理を開始するには、電気と配管をつなげる必要があります。

黒いボックスの2つの積み重ねで構成されたアパートメントの建物。 これらのボックスの4つは、キッチンで使用されているのと同じ黄色のボックスで、建物内の任意の場所に配置されています。残りの部分は、多色の生きた部屋、または空で灰色表示されています。

<<<<<<< HEAD が表示できないのはなぜですか? 好きな方法で建物をカスタマイズできます。多くの種類の会議室での入力、同一の部屋での入力、またはこの2つの組み合わせを行うことができます。

原点/マスター

このルームは、キッチンでクックしながらアプリを実行することによって機能します。 コンテナーは、アプリとアプリが独自の分離ボックス内に実行する必要があるものすべてを配置します。 このため、分離されたアプリは、そのコンテナーの外部に存在する他のアプリやプロセスについては一切関知しません。 コンテナーにはアプリの実行に必要なものがすべて含まれているため、他のコンテナー用にプロビジョニングされたリソースに関係なく、コンテナーをどこでも移動できます。

<<<<<<< HEAD 以下のビデオでは、Windows コンテナーでできることについて詳しく説明します。また、Docker との Microsoft の提携によって、オープンソースのコンテナー開発のための、同期されていない環境を構築する方法についても説明します

原点/マスター

コンテナーの基本

<<<<<<< HEAD Windows コンテナーの操作を開始するときに役立ついくつかの用語について説明します。 = = = = = = =

コンテナーの基礎

コンテナーは、分離されリソース制御された、移植可能なランタイム環境であり、ホスト マシンまたは仮想マシン上で実行されます。 コンテナー内で実行されるアプリケーションまたはプロセスは、必要なすべての必要な依存関係および構成ファイルと共にパッケージ化されており、コンテナーの外部で他のプロセスが一切実行されていないかのように動作します。

コンテナーのホストがコンテナーのリソースのセットをプロビジョニングし、コンテナーはこれらのリソースのみを使用します。 コンテナーとは、指定されたもの以外のリソースはありません。そのため、コンテナーは、近隣のコンテナー用にプロビジョニングされたリソースに触れることはできません。

Windows コンテナーの作成と使用を開始する際には、次の主要な概念が役立ちます。

コンテナー ホスト: Windows コンテナー機能を使用して構成された物理または仮想のコンピューター システム。 コンテナー ホストは、1 つ以上の Windows コンテナーを実行します。

コンテナー イメージ: ソフトウェアのインストールなどによってコンテナー ファイル システムまたはレジストリに変更が加えられると、それらの変更がサンドボックスでキャプチャされます。 これらの変更を継承する新しいコンテナーを作成できるように、この状態をキャプチャする場合がよくあります。 それがイメージです。いったんコンテナーが停止したら、そのサンドボックスを破棄するか、サンドボックスを新しいコンテナー イメージに変換することができます。 たとえば、Windows Server Core OS イメージからコンテナーを展開したとします。 次に、MySQL をこのコンテナーにインストールします。 このコンテナーから新しいイメージを作成すると、コンテナーの展開可能なバージョンとして機能します。 このイメージには、加えられた変更 (MySQL) のみが含まれますが、コンテナーの OS イメージの最上位レイヤーとして機能します。

サンドボックス: コンテナーが起動すると、ファイル システムの変更、レジストリの変更、ソフトウェアのインストールなどのすべての書き込みアクションは、この "サンドボックス" レイヤーでキャプチャされます。

コンテナーの OS イメージ: コンテナーは、イメージから展開されます。 コンテナーの OS イメージとは、コンテナーを構成する潜在的に多くのイメージ レイヤーの最初のレイヤーです。 このイメージがオペレーティング システム環境を提供します。 コンテナー OS イメージは不変です。 つまり、これを変更することはできません。

コンテナー リポジトリ: コンテナー イメージが作成されるたびに、コンテナー イメージとその依存関係がローカル リポジトリに格納されます。 これらのイメージは、コンテナー ホストで何度も再利用できます。 コンテナー イメージは、多くの異なるコンテナー ホスト間で使用できるように、DockerHub などのパブリック レジストリまたはプライベート レジストリにも格納できます。

仮想マシンに詳しい場合、コンテナーは仮想マシンとほとんど同じように使用できます。 コンテナーは、オペレーティング システムを実行し、ファイル システムを保有しています。物理または仮想コンピューター システムと同様に、ネットワーク経由でアクセスできます。 ただし、コンテナーの背後にあるテクノロジと概念は、仮想マシンのものとは大きく異なります。

原点/マスター

  • コンテナーホスト: Windows コンテナー機能で構成された物理または仮想コンピューターシステム。 コンテナーホストは、1つ以上の Windows コンテナーを実行します。
  • サンドボックス: コンテナーに対して行ったすべての変更をキャプチャするレイヤー (ファイルシステムの変更、レジストリの変更、ソフトウェアのインストールなど)。
  • 基本イメージ: コンテナーのオペレーティングシステム環境を提供するコンテナーのイメージレイヤーの最初のレイヤー。 ベースイメージを変更することはできません。
  • コンテナイメージ: コンテナーを作成するための手順の読み取り専用テンプレート。 画像は、改変されていない基本的なオペレーティングシステム環境に基づくことができますが、変更されたコンテナーのサンドボックスから作成することもできます。 これらの変更された画像は、基本イメージレイヤーの上で変更をレイヤー化します。これらのレイヤーは、他の基本イメージにコピーして再適用することで、同じ変更内容を含む新しい画像を作成することができます。
  • コンテナーリポジトリ: 新しいイメージを作成するたびに、コンテナイメージとその依存関係を格納するローカルリポジトリ。 格納されている画像は、コンテナーホストで何度でも再利用できます。 また、コンテナーのイメージを、Docker Hub などのパブリックまたはプライベートなレジストリに格納して、さまざまなコンテナーホスト間で使用できるようにすることもできます。
  • コンテナーオーケストレータ: 多数のコンテナーを自動化して管理し、互いの相互作用をどのように処理するかを指定します。 詳細については、「 Windows コンテナーオーケストレーションについて」を参照してください。
  • Docker: コンテナーイメージをパッケージ化して配信する自動化されたプロセス。 詳しくは、「Docker の概要」、「 Windows の docker エンジン」、または「 docker web サイト」をご覧ください。

コンテナーの作成方法を示すフローチャート。 アプリケーションと基本イメージは、サンドボックスと新しいアプリケーションイメージを作成するために使用されます。これは、基本イメージの上に重ねて配置され、新しいコンテナーを構築します。

仮想マシンに慣れているユーザーは、コンテナーと仮想マシンが似ているように思えることがあります。 コンテナーはオペレーティングシステムを実行し、ファイルシステムを持ち、物理または仮想コンピューターシステムと同様にネットワーク経由でアクセスできます。 ただし、コンテナーの背後にあるテクノロジと概念は、仮想マシンのものとは大きく異なります。 これらの概念の詳細については、「Russinovich のブログ投稿にマークを付ける」を参照してください。違いについて詳しく説明します。

Windows コンテナーの種類

また、2つの異なるコンテナー型 (ランタイムとも呼ばれます) が存在することに注意する必要があります。

Windows Server コンテナーは、プロセスと名前空間分離テクノロジによってアプリケーション分離を提供します。このため、これらのコンテナーは、プロセス分離されたコンテナーとも呼ばれます。 Windows Server コンテナーは、コンテナー ホストとそのホストで実行されているすべてのコンテナーと、カーネルを共有します。 これらのプロセス分離されたコンテナーは、悪意のあるセキュリティ境界を持たないため、信頼されていないコードを分離するために使わないでください。 これらのコンテナーはカーネルを共有しているため、カーネルのバージョンと構成を同一にする必要があります。

Hyper-v 分離は、高度に最適化された仮想マシンで各コンテナーを実行することによって、Windows Server コンテナーによって提供される分離を拡張します。 この構成では、コンテナーホストは、そのカーネルを同じホスト上の他のコンテナーと共有しません。 これらのコンテナーは、仮想マシンと同じセキュリティが保証されているため、敵対的なマルチテナント ホスティングに適しています。 これらのコンテナーは、ホスト上のホストまたは他のコンテナーとカーネルを共有しないため、(サポートされているバージョンの) 異なるバージョンと構成でカーネルを実行することができます。 たとえば、Windows 10 のすべての Windows コンテナーでは、Windows Server カーネルのバージョンと構成を利用するために、Hyper-v 分離が使用されます。

Hyper-v 分離を使用しているかどうかにかかわらず、Windows でコンテナーを実行することは、実行時に決定されます。 最初に、Hyper-v 分離を使用してコンテナーを作成します。次に、実行時に後で、代わりに Windows Server コンテナーとして実行することを選択します。

<<<<<<< HEAD

コンテナーユーザー

=======

原点/マスター

開発者のためのコンテナー

コンテナーを使うと、開発者はより高品質のアプリケーションのビルドと出荷をより迅速に行うことができます。 開発者は、すべての環境で同じように展開される Docker イメージを数秒で作成できます。 Docker のコンテナーにパッケージ化されたアプリケーションの大規模な拡大エコシステムがあります。 Docker Kerhub は、Docker によって管理されているパブリックのコンテナーアプリケーションのレジストリであり、そのパブリックコミュニティリポジトリで18万を超えるアプリケーションを公開しています。この番号は増加し続けています。

開発者がアプリを containerizes すると、アプリと、実行する必要があるコンポーネントのみが、画像にまとめられます。 その後、必要に応じて、このイメージからコンテナーが作成されます。 イメージを別のイメージを作成するためのベースラインとして使用して、イメージの作成をさらに高速化することもできます。 複数のコンテナーで同じ画像を共有できます。この場合、コンテナーは非常に早く開始され、使用できるリソースが少なくなります。 たとえば、開発者はコンテナーを使って、分散アプリの軽量で移植可能なアプリコンポーネント (microservices とも呼ばれます) をスピンアップし、各サービスを個別に簡単にスケールすることができます。

コンテナーは持ち運び可能であり、さまざまな言語で記述することができ、Windows Server 2016 を実行しているコンピューターと互換性があります。 開発者は、自分のノート pc またはデスクトップでローカルにコンテナーを作成してテストし、その同じコンテナーイメージを会社のプライベートクラウド、パブリッククラウド、またはサービスプロバイダに展開することができます。 コンテナーの自然なアジリティは、大規模な仮想化されたクラウド環境での先進のアプリ開発パターンをサポートしています。

IT プロフェッショナル向けのコンテナー

コンテナーを使うと、管理者は簡単に更新して管理できるインフラストラクチャを作成できます。 IT プロフェッショナルは、コンテナーを使用して、開発、QA、および運用チーム向けに標準化された環境を提供できます。 複雑なインストールと構成手順について心配する必要はありません。 コンテナーを使用することで、システム管理者は OS のインストールと基盤となるインフラストラクチャの相違点を抽象化します。

コンテナー101ビデオプレゼンテーション

次のビデオでは、Windows コンテナーの履歴と実装について詳しく説明します。

Windows Server コンテナーを試す

コンテナーの優れた機能を試してみるには、 使用を開始するには、次の記事を参照してください。

Windows Server でコンテナーをセットアップするには、「 Windows server のクイックスタート」を参照してください。

Windows 10 でコンテナーを設定するには、「 windows 10 のクイックスタート」を参照してください。