utte56 / 78

仮想マシンとコンテナの違い

コンテナについての説明として正しいものはどれですか。

  1. ハイパーバイザーの上で、ゲストOSのカーネルごと動かす
  2. ホストOSのカーネルを共有し、プロセスを隔離して動かす
  3. CPUの仮想化支援機能がないと起動できない
  4. 起動するたびに、OSのインストールが必要になる

answer 番号 で答えます。

解説

正解は 2 です。

コンテナは、ホストOSのカーネルをそのまま使い、プロセスから見えるファイルシステムやネットワークなどを隔離して、独立した環境のように見せる仕組みです。カーネルを起動し直さないので、起動が速く、使う資源も少なくて済みます。

仮想マシンは、ハイパーバイザーが仮想的なハードウェアを用意し、その上でゲストOSをカーネルごと動かします(選択肢1は仮想マシンの説明です)。ホストとは別の種類のOSも動かせますが、そのぶん重くなります。CPUの仮想化支援機能(Intel VT-x、AMD-V)は、仮想マシンを効率よく動かすためのもので、コンテナには必要ありません。