AI資格ドリル
資格を選ぶ↓

用語比較

コンテナと仮想マシンの違い|カーネルを共有するか、OS全体を持つか(DS検定)

コンテナと仮想マシン(VM)は、どちらもアプリを他の環境から分けて動かす仕組みです。違いは、分ける単位にあります。VMはOS全体を丸ごと持ち、コンテナは隔離されたプロセスとして動きます。

OS全体を持つのが仮想マシン、カーネルを共有する隔離されたプロセスがコンテナと区別するのが出発点です。Docker公式ドキュメントも、VMは独自のカーネルを持つOS全体で、複数のコンテナは同じカーネルを共有すると説明しています。

DS検定を運営するデータサイエンティスト協会のスキルチェックリスト(データエンジニアリング領域)には、コンテナ技術の概要理解と、既存のDockerイメージを使った分析環境の構築が★1つ星の項目として挙がっています。このページは、分析環境の再現にコンテナがなぜ使われるのかを知りたい人を対象にしています。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。DS検定の一次情報確認日: 2026-10-02。

結論

コンテナ

アプリの構成要素ごとの隔離されたプロセス。必要なファイルを備えて自己完結し、複数のコンテナは同じカーネルを共有する。

仮想マシン(VM)

独自のカーネル、ハードウェアドライバ、プログラム、アプリを含むOS全体。1つのアプリを隔離するためだけに起動すると負荷が大きい。

違いを表で確認

比較軸コンテナ仮想マシン(VM)
分ける単位隔離されたプロセスOS全体
カーネル複数のコンテナで同じカーネルを共有するVMごとに独自のカーネルを持つ
1つのアプリを隔離する負荷プロセスを隔離するだけで済むOS全体を起動するため負荷が大きい
実行に必要なものの持ち方イメージにファイル・ライブラリ・設定をまとめ、ホストへの導入に頼らないVM内のOSに、プログラムやアプリを導入する
クラウドでの関係VM上のコンテナ実行環境で、複数のコンテナ化アプリを動かすことがあるクラウドで用意される計算機は、通常はVM
試験で探す語イメージ、レイヤー、カーネルを共有、隔離されたプロセスゲストOS、独自のカーネル、OS全体

どこで迷っているかを切り分ける

01

分析環境を、他の人のパソコンでも同じように動かしたい人

Docker公式ドキュメントは、コンテナは自己完結しており、ホストに事前導入された依存関係に頼らないと説明しています。開発用のパソコンで動くコンテナは、データセンターやクラウドでも同じように動くとされます。

02

コンテナがVMの代わりに「小さいOS」を持っていると思っている人

コンテナは、OS全体ではなく隔離されたプロセスです。複数のコンテナは同じカーネルを共有します。独自のカーネルを持つのは、VMのほうです。

03

コンテナとVMはどちらか一方しか使えないと思っている人

Docker公式ドキュメントは、2つが一緒に使われることも多いと述べています。クラウドでは用意される計算機が通常VMで、そこにコンテナ実行環境を入れて複数のコンテナ化アプリを動かすことがあります。

具体例で使い分ける

例 1

1台の計算機で、アプリA、アプリB、データベースを隔離して動かす場合

3つの構成要素を、他と干渉させずに動かします。

  • VMで隔離するなら、構成要素ごとに独自のカーネルを持つOS全体が必要になり、負荷が大きくなります。
  • コンテナなら、構成要素ごとに隔離されたプロセスとして動かせます。3つのコンテナは同じカーネルを共有します。
  • 削除も構成要素ごとに行えます。Docker公式ドキュメントは、1つのコンテナを削除しても他のコンテナに影響しないと述べています。

結論: 複数の構成要素を軽く隔離するなら、カーネルを共有するコンテナが向きます。

例 2

コンテナの中身を確認したいときに、イメージを書き換えられるか考える場合

コンテナイメージの性質を読み取ります。

  • コンテナイメージは、ファイル、バイナリ、ライブラリ、設定をまとめた標準化されたパッケージです。
  • Docker公式ドキュメントによると、イメージは作成後に変更できません。変えたいときは、新しいイメージを作るか、その上に変更を重ねます。
  • 変更はレイヤーという、ファイル変更の積み重ねで表されます。

結論: イメージは不変で、変更は新しいイメージかレイヤーとして重ねます。

問題文から答えを選ぶ手順

  1. 1

    何を分けているかを見る

    OS全体を分けているならVM、アプリのプロセスを分けているならコンテナです。

  2. 2

    カーネルの扱いを確かめる

    独自のカーネルを持つならVM、同じカーネルを共有するならコンテナです。

  3. 3

    環境の持ち運びが話題か確かめる

    必要なものをまとめたイメージで、どこでも同じように動かす話題なら、コンテナです。

  4. 4

    組み合わせを疑う

    クラウドの計算機の話なら、VM上でコンテナを動かす形も選択肢に入れます。

試験での見分け方

  • 1VMは、独自のカーネル、ハードウェアドライバ、プログラム、アプリを含むOS全体である。
  • 2コンテナは、必要なファイルを備えた隔離されたプロセスで、複数のコンテナは同じカーネルを共有する。
  • 3コンテナは自己完結しており、ホストに事前導入された依存関係に頼らない。
  • 4コンテナイメージは、実行に必要なものをまとめた標準化されたパッケージで、作成後は変更できない。
  • 5コンテナとVMは、組み合わせて使うことも多い。

誤答しやすい選択肢

コンテナもVMと同じく、独自のカーネルを持つと考える

修正: 独自のカーネルを持つのはVMです。複数のコンテナは同じカーネルを共有します。

コンテナイメージを、作成後に直接書き換えられると考える

修正: Docker公式ドキュメントでは、イメージは不変です。変更するときは、新しいイメージを作るか、その上に変更を重ねます。

コンテナを1つ削除すると、他のコンテナも消えると考える

修正: 各コンテナは独立して管理されます。1つを削除しても、他のコンテナには影響しません。

コンテナとVMは、同時には使えないと考える

修正: クラウドでは、VMにコンテナ実行環境を入れて、複数のコンテナ化アプリを動かすことがあります。

確認問題

Q1複数のコンテナが共有し、VMが個別に持つものは何ですか?

答え: カーネル

複数のコンテナは同じカーネルを共有し、VMは独自のカーネルを持つOS全体です。

Q2コンテナイメージの性質として正しいのは「作成後に変更できる」「作成後に変更できない」のどちらですか?

答え: 作成後に変更できない(不変)

変更したいときは、新しいイメージを作るか、その上に変更を重ねます。

Q3「ホストに事前導入された依存関係に頼らず、必要なものを備えている」というコンテナの性質を何と呼びますか?

答え: 自己完結(セルフコンテインド)

Docker公式ドキュメントが、コンテナの特徴として最初に挙げる性質です。

到達チェック

  • コンテナとVMで、分ける単位がどう違うか言える
  • カーネルを共有するのはどちらか答えられる
  • コンテナイメージの不変とレイヤーを説明できる
  • コンテナとVMを組み合わせて使う場面を説明できる

同じ資格で次に知りたいこと

よくある質問

Qコンテナと仮想マシンの一番大きな違いは何ですか?

A

分ける単位です。VMはOS全体を持ち、コンテナは隔離されたプロセスで、複数のコンテナは同じカーネルを共有します。

Qコンテナイメージとは何ですか?

A

コンテナの実行に必要なファイル、バイナリ、ライブラリ、設定をまとめた標準化されたパッケージです。作成後は変更できません。

QコンテナとVMは一緒に使えますか?

A

使えます。クラウドでは、VMにコンテナ実行環境を入れて、複数のコンテナ化アプリを動かすことがあります。

QDS検定にコンテナ技術は出ますか?

A

データサイエンティスト協会のスキルチェックリストのデータエンジニアリング領域に、コンテナ技術の概要理解と既存のDockerイメージを使った分析環境の構築が★1つ星の項目として含まれます。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)