[コンテナの歴史]Dockerができるまで 第一部 〜集合知を集めて歴史を知ろう〜
今回Dokcerの歴史を説明しようと思った動機
- 2年前、インフラ部隊のメンバーにDockerの勉強会を開催するために、レビューの時点でせっかくインフラのメンバーに説明するのだったら、背景・歴史を説明したほうがよりよいとアドバイスをもらったため、背景・歴史を説明するようにした。
- しかーし、先輩方が4名ほど、たたき上げのアラフォー・アラフィフなインフラエンジニアであったために、まさかりをいっぱい投げられ、めげずに説明をしたことからことを発しています。
目的(ゴール)
- 時代や目的・背景を知って、コンテナについて理解を深める。
- どのような構成要素によってDockerが作られているかを知る。
自己紹介
Sayaka
- 名前:さやか
- twitter:@flower_norn
- 趣味:
- 旅行
- 星空鑑賞、
- 自作PC(水冷)、
- カメラ ...etc
- 職業:
- ネットワークエンジニア上がりの広く薄くできる何でも屋さん。
- 最近はMS(Azure, AD, MBAM,SCCM..etc)がメイン。
事前にお伝えしておくこと
- Dockerの歴史は、コンピューターの歴史、仮想化の歴史とも言えます。
- 音声通話・チャットでの優しいまさかりを受け付けています。
- ※一緒に話に乗ってくれる方も募集しています。
仮想化・コンテナ化の歴史における解決したい永遠のテーマ
- 目的・背景
- 貴重なリソース(当時は高価だった)をいかに効率よく使用するか
- セキュアな環境の確保
本編
1970
1971
1972
- IBM VM/370 (OS)
- 機能
- メインフレームのハードウェアとソフトウェアを区画化でき、仮想マシン(VM)をそれぞれ独立した環境上で稼働させ、個々のユーザーが固有のアプリケーション群を実行できるようにした。
- 背景
- 当時、コンピュータにOSをインストールするためには数日を要していた。商用利用でマシンタイム一分間数百円の時代であるにも係わらず、その間、エンドユーザーはコンピュータを使うことが出来なかった。
- 仮想計算機はこの作業を、エンドユーザーの利用と並行して行うことができ、最後にDASD(Direct Access Storage Device, つまりハードディスク)をテープに吸い上げ、物理マシンのDASDに戻し直せばよくなった。エンドユーザーが使えない時間は数時間になった。
- 機能
1973
1974
- PopekとGoldbergの仮想化要件 (論文)
- 内容
- コンピュータアーキテクチャが効率的にシステムの仮想化を実現するための一群の十分条件である
- 内容
1975
1976
1977
1978
1979
- chroot(2) システムコールの Version 7 Unix への導入
- 機能
- 特定のディレクトリを疑似的に別の環境に見せる仕組み
- 例となる現代で使用されているサービス
- virtual private server、略称:VPS
- chrootの参考図
- 機能
1980
1981
1982
- chroot(2) システムコールの 4.2BSD への導入
1983
1984
1985
1986
1987
1988
1989
1990
special thanks 勉強会に参加してくださった皆様