
3
1
章
コンテナとは なにか、
そしてなぜ 注目されているのか
コンテナは、私たちのソフトウェアの開発、配布、実行の方法を根本から変化させています。開
発者は、それが
IT
部門のラック内であろうと、ユーザーのノート
PC
であろうと、あるいはクラ
ウドのクラスタ内であろうと、いかなるホスト環境下でもまったく同じように動作することを踏ま
えて、ローカルでソフト開発を行えます。運用エンジニアは、ネットワーキング、リソース、稼働
時間に集中でき、環境設定やシステムの依存関係への対処に費やす時間を減らすことができます。
コンテナの利用と理解は、最も小さなスタートアップから大企業に至るまで、
IT
業界全体にわたっ
て驚くべきペースで進んでいます。今後の数年のうちに、開発者や運用エンジニアは何らかの形で
日常的にコンテナを使うようになるでしょう。
コンテナは、アプリケーションを依存対象とともにカプセル化したものです。一見すると、コン
テナは単に軽量な仮想マシン(
VM
)のように見えます。
VM
と同じように、コンテナは隔離され
たオペレーティングシステム(
OS
)の環境を持ち、その中でアプリケーションを動作させること
ができます。
しかしコンテナには、これまでの
VM
では実現が難しい、あるいは不可能なユースケースを可
能にしてくれる利点があります。
•
コンテナは、ホスト
OS
とリソースを共有するので、はるかに効率的です。コンテナの起
動や停止は一瞬で行えます。コンテナ内で動作するアプリケーションのオーバーヘッド
は、ホスト
OS
で直接動作するアプリケーションと比較しても、ごくわずかか、ほとんど ...