コンテナの歴史
コンテナの起源は1970年代に登場した UNIX のchroot
システムコールに遡る.
chroot
システムコールはシステムのルートディレクトリを変更するシステムコールである.
これにより簡易的な隔離環境を作ることができる.
HTTP Serverなどで用いられ,ディレクトリトラバーサルなどの対策に使われた.
2000年には FreeBSD jail
が生まれ,chroot以外にも様々な隔離機能が搭載され,この後に生まれてくるコンテナ型仮想化に踏襲された.
2006年頃,Linux 2.6 にて namespaces
(後述) という機能が実装された.
この機能を用いて登場したのが LXC
や Docker
といった現代のコンテナ型仮想化ソフトウェアである.