プログラミング初心者がアーキテクトっぽく語る

見苦しい記事も多数あるとは思いますが訂正しつつブログと共に成長していければと思います

コンテナ技術の歴史

今のご時世はなんでもコンテナだ。docker、kubernetesは必須知識となった。

しかしコンテナは技術的には新しいものではない。

そんな雑学をひけらかすとユーザから変に信頼されたりたりするので知っておくとよいだろう。


chroot

  • 1982年
  • 現在のプロセスとその子プロセス群に対してルートディレクトリを変更する
  • ルートディレクトリの範囲外のファイルにはアクセスできなくなる

control groups

  • 2006年
  • リソースの利用を制限、隔離する機能
  • Googleが開発して2008年にLinuxカーネルにマージした

LXC

  • 2008年
  • プロセス空間、ネットワーク空間の分離を提供
  • chrootやcgroupを利用

Docker

  • 2013年
  • LXCでは提供されない便利な機能を提供
    • 環境のポータビリティ
    • 版数管理
    • イメージの共有
    • PaaS

当初はLXCを利用していたが2014年にlibcontainerに変更された


現在

LinuxWindowsMacなどのOSがコンテナをサポートしている