コンテナの広範な採用により、IT の常識が変わりました。管理者は、アプリケーションやユーザーの間に障壁を作るために複数の仮想マシンを実行する必要がなくなり、プログラマーも、プロセス分離やライフサイクル管理のための独自の戦略を持つ Java などの言語に縛られることがなくなりました。
この変化を先導するのが、ソフトウェアコンテナ内のプログラムのデプロイと管理を自動化するオープンソースユーティリティであるDockerです。Dockerはコンテナエコシステムの中心でもあり、Kubernetesなどの他のソリューションも、コンピューティングクラスター内でDockerを介してコンテナをデプロイするために利用可能です。
TechRepublic の Docker に関するチートシートは、ソフトウェアコンテナプラットフォームの簡単な入門書です。この「生きた」ガイドは、Docker のメジャーバージョンアップで機能が追加されるたびに定期的に更新されます。
参照: TechRepublic のすべてのチートシートと賢い人向けガイド
エグゼクティブサマリー
- Docker とは何ですか? Docker は、ソフトウェア コンテナー内のプログラムの展開と管理を自動化するオープン ソース ユーティリティです。
- なぜ Docker が重要なのでしょうか?仮想マシンと比較して、Docker コンテナ内でアプリケーションを実行すると、システム管理が容易になります。
- Docker は誰に影響を与えますか? Docker は Linux、Windows、および OS X ホスト上で実行され、実質的にあらゆるアプリケーションを Docker コンテナ内で使用するためにパッケージ化できます。
- Docker はいつ登場するのでしょうか? Docker は 2013 年 3 月にオープンソース プロジェクトとして初めてリリースされ、2014 年 6 月にバージョン 1.0 に達し、現在も活発に開発が続けられています。
- Docker を入手するにはどうすればよいですか? Docker は、Linux、Windows、OS X ホスト用に無料でダウンロードできます。
参照: クラウド コンピューティング ポリシー (Tech Pro Research)
Dockerとは何ですか?
Dockerは、ソフトウェアコンテナ内のプログラムのデプロイと管理を自動化するオープンソースユーティリティです。LinuxとWindowsはソフトウェアコンテナの機能の大部分をネイティブで提供していますが、Dockerは依存関係やその他の必要なコンポーネントを配布可能な形式にバンドルすることを容易にします。コンテナ化されたプログラムは、Dockerが動作する任意のシステムにデプロイできます。つまり、Dockerは、プログラムが実行されるプラットフォームに依存せず、同じ方法でプログラムを実行できることを意味します。
もしこの概念に聞き覚えがあるなら、ソフトウェアコンテナの概念は古い技術と多少重複していると言えるでしょう。仮想マシンは、完全に独立したオペレーティングシステムを任意のハードウェア上でゲストとして実行することを可能にしますが、ベアメタル上で実行する場合と全く同じように機能します。コンテナは、同じオペレーティングシステム内で実行されるサンドボックス化されたアプリケーションです。同様に、Javaの「一度書けばどこでも実行できる」というパラダイムは、ソフトウェアの移植性に関して、環境ベースではなく言語ベースのアプローチです。この2つは抽象的な意味では競合しますが、Docker内でJavaアプリケーションサーバーを実行することは可能です。
ソフトウェア コンテナーのさらに詳しい説明と、他のテクノロジーとの比較については、TechRepublic の賢い人のためのコンテナー ガイドをご覧ください。
追加リソース
- コンテナ: 仮想マシンの代替か代替か? (TechRepublic)
- コンテナ:VM 代替のメリットとデメリット (TechRepublic)
- コンテナを実装する前に、この運用上の課題を検討してください(TechRepublic)
- ミニ用語集:知っておくべきクラウドコンピューティング用語(TechRepublic)
Docker が重要な理由は何ですか?
Dockerが重要な理由は、視点によって異なります。オープンソースプロジェクトであるため、移植性が高く、競合する標準規格(および仮想マシンなどの関連技術)のようにベンダーロックインやライセンスの制約を受けません。
より一般的な意味では、Docker は仮想マシンよりも学習曲線がやや緩やかで、あらゆる Linux ディストリビューションや Windows 上で実行できます。(ソフトウェア コンテナの主な競合は rkt です。これはオープン スタンダードですが、現在 rkt は機能的に CoreOS の Container Linux 専用です。) 仮想マシン内ではなく Docker コンテナ内にアプリケーションを展開すると、メンテナンスやパッチ適用がホスト システムやゲスト マシンではなく Docker ホスト上でのみ実行できるため、システム管理が容易になります。複数の Linux インスタンスを並行して実行しないことで、システムのオーバーヘッドも削減されます。当然のことながら、コンテナ内でアプリケーションを実行することで、管理者はコンテナ内のプロセスがホスト システムや他のコンテナに干渉していないことを確信できます。
追加リソース
- ビデオ: Docker がコンテナを主流にした方法 (ZDNet)
- エンタープライズ コンテナ テクノロジーがすべての人に役立つ 4 つの方法 (ZDNet)
- Red Hat が Docker よりも Docker で収益を上げている理由 (TechRepublic)
- AWS Lambdaとサーバーレスコンピューティングが企業におけるDockerの台頭を阻まない理由(TechRepublic)
Docker は誰に影響を与えますか?
Dockerは実質的に誰でも使用できます。Dockerはアプリケーションを任意のシステムで実行できるという前提に基づき、WindowsやOS Xだけでなく、様々なLinuxディストリビューションでも利用可能です。Amazon Web Services、Google Cloud Platform、Microsoft Azureなどの人気クラウドプロバイダーもコンテナホスティングを提供しています。
Docker は独自のエコシステムの中心でもあり、コンピューティング クラスター内でのソフトウェア コンテナーの展開を可能にする Kubernetes など、Docker と連携して使用するための他のツールも開発されています。
追加リソース
- Dockerがエンタープライズ版をリリース、企業による幅広い導入を促進(ZDNet)
- Netflix のコンテナ活用:コスト削減から生産性向上まで、コンテナがビジネスを加速させる 5 つの方法 (TechRepublic)
- コンテナはJava仮想マシンの使用を妨げる可能性が高いと調査で判明(ZDNet)
- Docker が企業にとって何を意味するのか (Tech Pro Research)
Docker はいつ開催されますか?
DockerはdotCloudの社内プロジェクトとして開発され、2013年3月にオープンソースプロジェクトとして初めてリリースされました。0.9リリースでは、Docker固有のlibcontainerライブラリがデフォルトの実行環境として導入されました。Dockerは2014年6月9日に1.0リリースのマイルストーンに到達しました。リリース発表によると、最初のリリースから1.0までの15ヶ月間の道のりは、「460人以上の貢献者による8,741件のコミットと275万回のダウンロード」で構成されていました。
追加リソース
- DockerがKubernetesを採用する理由(TechRepublic)
- コンテナ技術市場は年間40%成長するとアナリストが予測(ZDNet)
- Verizon が 50,000 個の Docker コンテナを大規模 IoT クラスターに導入 (TechRepublic)
- Docker ロッカー:コンテナ技術の利用が倍増、巨額の収益が続く(ZDNet)
- Apache Libcloud: すべてのクラウドを連携させるオープンソースのクラウドライブラリ (ZDNet)
Docker を入手するにはどうすればいいですか?
DockerはLinux、Windows、OS Xホストで利用でき、Dockerのウェブサイトから無料でダウンロードできます。Docker Storeでは、NGINX、WordPress、Ghost、Drupal、Clojureなど、簡単にデプロイできるパッケージ済みのアプリを提供しています。(名前に反して、利用可能なアプリの多くは無料です。)
Docker サポートは、IBM Bluemix、VMware vSphere、HPE Helion Stackato などの他のソリューションにも含まれています。
追加リソース
- シスコ、Dockerコンテナパートナーシップによる検証済み設計を発表(ZDNet)
- Fedora 25にDockerをインストールする方法(TechRepublic)
- HPE、Docker Ready Serverを提供開始、企業におけるコンテナ導入を加速 (ZDNet)
- 多くの企業は「マイクロサービス津波」への準備ができていない(ZDNet)