- ホストから隔離されたプロセスで動いてる
- 仮想マシンとは別とされてる
docker = コンテナではない dockerはコンテナ技術を使うためのツール
- ホストのファイルへのアクセス
- 許可されたファイルにしかアクセスできない
- ホストの他プロセスへのアクセス
- 子プロセス意外にアクセスすることができない
- ホストのリソースへのアクセス
- 決められた、CPU,RAMのリソースのみを利用する
- dockerではストレージの指定は特にしてないかも?
- コンテナの操作によってホストのファイルに影響を及ぼすことがない
- ホストのプロセスがコンテナによってkillされたりしない
- ホストのリソースを食いつぶすことがない
クラウドの環境においてはリソースの割当がしやすいことによって 再現性の高い環境を作るのに向いてそう
Linuxカーネルの機能を利用する
- pivot root: ルートファイルシステムを変更することで、決められたパスの配下以外はアクセスできないようにする
- namespace: プロセスIDやネットワークを独立して、他のプロセスを知らない状態にする
- cgroups: プロセスをcontrol groupsに分けて、CPUやRAMなどのリソースを割り当てる