コンテナーと VM の連携

数週間前、私はDockerコンテナが仮想マシン(VM)ではなかったことについて話しました。 この記事について多くの肯定的なフィードバックを受け取りましたが(ありがとう)、VMとDockerコンテナは共存できるかという一般的な質問も聞きました。

答えははっきりとした「はい」です。

最も基本的なレベルでは、VM は Docker ホストを実行するのに最適な場所です。 また、VMとは、あらゆる形式のVMを意味します。 vSphere VM であろうと Hyper-V VM であろうと AWS EC2 インスタンスであろうと、それらはすべて Docker ホストとして同等に機能します。 必要な作業によっては、VM がこれらのコンテナーを着陸させるのに最適な場所になる場合があります。 しかし、Dockerの素晴らしいところは、コンテナをどこで実行するかは関係なく、それは完全にあなた次第です。

私が聞く別の質問は、DockerコンテナベースのサービスがVMベースのサービスと対話できるかどうかに関するものです。 繰り返しますが、答えは絶対にイエスです。 一連の Docker コンテナーでアプリケーションを実行しても、VM で実行されているサービスと通信できなくなることはありません。

たとえば、アプリケーションが仮想マシンに存在するデータベースと対話する必要がある場合があります。 適切なネットワークが整っていれば、アプリはそのデータベースとシームレスに対話できます。

VM と Docker コンテナーの間に相乗効果をもたらすことができるもう 1 つの領域は、容量の最適化の領域です。 VMは、より高いレベルのサーバー使用率を可能にしたため、初期の人気を博しました。 それは今日でも当てはまります。 たとえば、vSphere ホストは、Docker ホストを収容できる VM をホストできますが、従来のモノリシック VM をいくつでもホストできます。 Dockerホストと「従来の」VMを組み合わせて一致させることで、システム管理者は物理ハードウェアを最大限に活用できます。

コンテナーと VM の組み合わせ 1

 

Dockerは、さまざまな仮想化およびクラウドプラットフォームでのDockerホストの実行に対応しています。 Docker Cloud と Docker Datacenter は、実行場所に関係なく、 Docker ホストを簡単に管理できます。また、Docker Machine を使用すると、VMware vSphere、Microsoft Hyper-V、Azure、AWS などの さまざまなプラットフォーム に新しい Docker ホストをプロビジョニングできます。

Dockerの最も強力な点の1つは、IT組織に柔軟性を提供することです。 アプリケーションを実行する場所の決定は、ビジネスに適したものに100%基づいて行うことができます。 単一のインフラストラクチャに縛られることなく、組織にとって意味のある方法で選択して組み合わせることができます。 Docker は vSphere でホストされていますか? すごい。 紺碧。 もちろん。 物理サーバー? そうですよ。 Dockerコンテナを使用すると、俊敏性、移植性、および制御のこの優れた組み合わせが得られます。


 

ドッカーについてもっと知る