メインコンテンツへスキップ

Dockerとは何か?コンテナ技術の基礎と、デファクトスタンダードになった理由

·
Docker コンテナ インフラ
目次

Dockerの概要と普及した背景
#

Dockerとは、「コンテナ型仮想化技術」を使って、アプリケーションと 実行環境をパッケージ化し、どこでも同じ環境を簡単に配布・実行できるようにするプラットフォームです。

Dockerは非常に有名なプラットフォームですが、普及した背景は 利便性、エコシステムなどがあります。

  • 利便性
    • docker runコマンドで簡単に環境構築可能
    • Dockerfileで簡単に配布可能
  • エコシステム
    • Docker Hubという大規模なコミュニティ

LXCなどの他のコンテナ技術よりも上記のポイントを実現・改善したことで Dockerは普及したといえます。

コンテナ技術が普及した背景
#

Dockerなどコンテナ技術関連のプラットフォームは普及しましたが、 従来のVM(仮想マシン)と比較してどのような点が優れていたか整理します。 コンテナ技術が従来のVMよりも優れていた点は「軽量でリソース効率が高い」「運用・管理面がシンプル」です。 コンテナ技術ではホストOSのカーネルを共有することによって、OS分のオーバーヘッドが不要で、 管理対象のイメージも少なくて済みますが、従来のVMでは、ゲストOSのためのオーバーヘッドが 必要となります。そのため、リソース効率などの点でコンテナ技術が優れています。

まとめ
#

Dockerとは、コンテナ型仮想化技術のプラットフォームであり、 利便性とエコシステムにより、他のコンテナ型仮想化技術よりも普及しました。 Virtual BoxやVMwareなどの従来のVMよりもリソース効率などの面でコンテナ技術が優れていることから 現代ではコンテナ技術が大きく普及することになりました。

振り返りポイント
#

  • Dockerとは?
  • Dockerが他の「コンテナ型仮想化技術」よりも優れているポイントは?
  • コンテナ型仮想化技術が従来のVMよりも優れているポイントは?
    • また、優れている理由は?

参考リンク
#