コンテンツへスキップ
uencoder

Container

コンテナとは、アプリケーションを依存関係とともにパッケージ化する軽量な分離実行環境であり、OS 全体の仮想化を行わずにホストカーネルを共有する。

目的

アプリケーションの可搬性と一貫性を高め、環境のドリフトをなくす。

メカニズム

名前空間がプロセス・ネットワーク・マウントを分離し、cgroup が CPU・メモリ・I/O を制限する。レイヤー化されたイメージ(ユニオンファイルシステム)によりビルドと配布が効率化される。VM より起動が速くリソースも軽い。Docker や containerd が実装である。

ユースケース

  • アプリケーションのパッケージ化
  • どの環境でも同じ挙動
  • マイクロサービスのデプロイ

関連用語

References