システムVMとコンテナの相違点
https://gyazo.com/71fdc7ffb17ad2e9e1bbcfdfaf712298 https://sandi.jp/solution/container/about
コンテナはOSを仲介しないため軽量
ホストOSとゲストOSが同じOSだとしても、カーネルやシステムのデーモンを重複してロードすることになるためメモリを無駄に消費する コンテナは1つのOS上に独立環境を構築する
メモリ消費などは少なく抑えられる
同じ性能のハードウェアであれば、コンテナのほうがより多くの数を起動できる
出来ることの豊富さ
システムVMはOSを持つため、リソースを集中的に使用する複数の機能を一度に実行できる 仮想マシンは1つの独立したサーバーとして機能しますので、仮想マシンごとに異なるOSを動かすことができます。一方コンテナは1つのOSから作られているため、OSは同じでなくてはなりません ref そうなん?
隔離レベル
仮想的なハードウェアレベルで隔離されるため、ホストOSから、ゲストOS上のアプリケーションなどは確認できない コンテナは
ホストOSとリソースを共有するため、隔離レベルは低い
コンテナから、別のコンテナやホストOSに影響を与えうる
可搬性
コンテナの場合、コンテナ管理ソフト(e.g. Docker)がハードウェアやOSの差異を吸収してくれるので、コンテナをイメージなどとして配布することで、どんな環境でも同じ環境を構築できる
仮想マシンでは、実行環境が変われば、ハードウェアやOSの設定を確認しなければなりませんので、コンテナよりも手間が掛かります ref