Dockerとは何ですか?なぜDockerは人気がありますか?

データセンターやクラウドのITサークルにいる場合、一般的なコンテナやDockerについては、今や1年以上にわたってノンストップで耳を傾けてきました。 Docker 1.0のリリースでは、6月に、騒ぎが轟音になった。

Red Hat、Ubuntu、Docker:コンテナ仮想化が主流になり、Red Hatはコンテナスタイルの仮想化を真剣に受け入れています。オープンソースドッカーコンテナモデル

企業はDockerを驚くべき速度で採用しているため、すべてのノイズが発生しています。 7月のOSConでは、すでにサーバーアプリケーションを仮想マシン(VM)からコンテナに移行していた数多くの企業に遭遇しました。実際、Dockerのサービスとサポートの担当者であるJames Turnbullは、今回のカンファレンスで、Dockerをベータ版で使用していた大手銀行のうち3社が、これは、1.0のテクノロジが自信を持って動いていることを示していますが、安全性の高い金融業界ではほとんど知られていません。

同時に、オープンソース技術であるDockerは、Red HatやCanonicalなどのLinuxの力に溢れるものではありません。マイクロソフト社などの独占的ソフトウェア企業もDockerを採用しています。

では、なぜ誰もがコンテナとドッカーを愛しているのですか? Parallelsのサーバー仮想化担当CTOであり、大手のLinuxカーネル開発者でもあるJames Bottomley氏は、Hyper-V、KVM、XenなどのVMハイパーバイザーはすべて「仮想ハードウェアのエミュレートに基づいている」と説明しています。システム要件の条件。

ただし、コンテナは共有オペレーティングシステムを使用します。つまり、システムリソース用語ではハイパーバイザーよりもはるかに効率的です。ハードウェアを仮想化する代わりに、コンテナは単一のLinuxインスタンスの上に置かれます。これは、「不要な99.9%のVMジャンクを残して、あなたのアプリケーションを含む小さくてきれいなカプセルを残すことができる」ということを意味します。

近年、仮想化はデータセンターを席巻し、ITの変革を可能にし、クラウドコンピューティングの秘密のソースとして機能します。データセンターのオプションが成熟し、仮想化がデスクトップ、ネットワーク、そしてそれ以上に広がるにつれて、仮想化の次の要素を検討するときです。

したがって、Bottomleyによれば、完全にチューニングされたコンテナシステムでは、同じハードウェア上でXenまたはKVM VMを使用できるように、サーバーアプリケーションインスタンスの数を4〜6倍にすることができます。

素晴らしいですね?あなたは、あなたのサーバーのための多くのアプリケーションのバングを得る。だから、なぜ誰も前にそれをやっていないのですか?まあ、実際に彼らは持っています。コンテナは古い考えです。

コンテナは、少なくとも2000年の日付とFreeBSD Jailsの日付です。 Oracle SolarisにはZonesという概念もありますが、Parallels、Google、Dockerなどの企業は、OpenVZやLXC(Linux Containers)などのオープンソースプロジェクトで、コンテナをうまく安全に動作させるために働いています。

確かに、それを知っている人はほとんどいませんが、ほとんどの人は何年もコンテナを使っています。 Googleには独自のオープンソースコンテナテクノロジがあります(Let Me Contain That For You)。検索、Gmail、Googleドキュメントなど、Googleの機能を使用するたびに、新しいコンテナが発行されます。

しかし、DockerはLXCの上に構築されています。プログラムに関しては、コンテナテクノロジーと同様に、独自のファイルシステム、ストレージ、CPU、RAMなどを備えています。コンテナとVMの主な違いは、ハイパーバイザーがデバイス全体を抽象化している間に、コンテナがオペレーティングシステムのカーネルを抽象化しているということです。

これは、ハイパーバイザーが、異なるオペレーティングシステムやカーネルを使用することができないことを、ハイパーバイザーができることの1つであることを意味します。たとえば、Microsoft Azureを使用して、Windows Server 2012とSUSE Linux Enterprise Serverの両方のインスタンスを同時に実行することができます。 Dockerでは、すべてのコンテナが同じオペレーティングシステムとカーネルを使用する必要があります。

一方、ほとんどのサーバーアプリケーションインスタンスが最小限のハードウェアで実行されるようにするだけであれば、複数のオペレーティングシステムVMの実行を気にする必要はありません。同じアプリケーションの複数のコピーがあなたの望むものなら、コンテナが大好きです。

この動きにより、データセンターやクラウドプロバイダーは、年間数千万ドルの電力とハードウェアのコストを節約できます。 Dockerをできるだけ早く採用しようと急いでいることは間違いありません。

クラウド;クラウドコンピューティングは一度に1つのAPI、エンタープライズソフトウェア、甘いSUSE! HPはLinuxディストリビューションを曇らせる、クラウド、Twilioは新しいエンタープライズプランをより敏捷性を約束する、クラウド、Intel、Ericssonがパートナーシップを拡大してメディア業界に注力

Dockerは以前の技術ではなかったいくつかの新しいことをテーブルにもたらします。 1つ目は、コンテナを以前のアプローチよりも簡単に展開して使用できることです。さらに、DockerはCanonical、Google、Red Hat、Parallelsなどの主要なオープンソースコンポーネントlibcontainerを含む他のコンテナとの提携により、必要な標準化をコンテナにもたらしました。

同時に、開発者はDockerを使用して、アプリケーションをどこにでも実行できる軽量で移植性のある自己完結型のLXCコンテナとしてパッケージ化、出荷、実行することができます。 Bottomley氏は私にこう言っています。「コンテナは、アプリケーションの移植性を即座に提供します。

451 Researchのシニアアナリスト、Jay Lyman氏は、「エンタープライズ企業は、アプリケーションやワークロードの移植性を高め、効果的で標準化された再現性のある方法で配布することを模索していますが、GitHubがソースコードDocker Hub、Official Repos、および商用サポートは、企業がアプリケーションのパッケージ化、展開、および管理の方法を改善することにより、この課題に答えるのを支援しています。

最後に、Dockerコンテナはクラウドに簡単にデプロイできます。 Ben Lloyd Pearsonがopensource.comに書いたように、「Dockerは、Puppet、Chef、Vagrant、およびAnsibleを含むほとんどのDevOpsアプリケーションに組み込むことができるように設計されているか、開発環境を管理するために単独で使用できます具体的には、Dockerを使用すると、実際のサーバーと同じようなローカル開発環境をセットアップしたり、複数の開発環境をそれぞれ同じホストから実行したりすることが可能になります独自のソフトウェア、オペレーティングシステム、構成を持ち、新規または異なるサーバー上でプロジェクトをテストし、ローカルホスト環境に関係なく、正確に同じ設定で誰でも同じプロジェクトで作業できるようにします。

簡単に言えば、ドッカーがあなたのためにできることは次のとおりです。他のテクノロジと同じハードウェア上で実行されるアプリケーションを増やすことができ、開発者はすぐにコンテナ化されたアプリケーションを簡単に作成でき、アプリケーションのはるかに簡単です。すべてをまとめると、Dockerがエンタープライズテクノロジを見ていることを思い出しながら、誇大宣伝のサイクルに早く乗っている理由を知ることができます。私はそれがその約束通りに生きることができることを願っています。あるいは、本当に怒っているCEOやCIOが出てくるでしょう。

 ストーリー

クラウドコンピューティングの成長

甘いSUSE! HPEがLinuxディストリビューションに突入

Twilio、新しいエンタープライズプランを発表

インテル、エリクソン、メディア業界に注力するためのパートナーシップを拡大