コンテナ・Docker・Kubernetesとは?DockerとKubernetesの役割

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

コンテナとは(全体像)

コンテナとは、アプリを動かすのに必要なものをひとまとめにした、軽量な「箱」のことだ。OSのレベルで動く、軽い仮想化技術といえる。

ここでカギになるのが、仮想マシン(VM)との違い。住まいでたとえると分かりやすい。

ここで一番のポイント。コンテナと仮想マシンは別ものだ。仮想マシンはそれぞれ完全なOSを持つ(重い)、コンテナはOSのカーネルを共有する(軽い)。「コンテナイコール仮想マシン」と思い込むと誤りになる。


詳しく:DockerとKubernetesの役割

ここが心臓部。ポイントを表で押さえよう。

コンテナ・Docker・Kubernetes

項目やさしい意味
コンテナOSのカーネルを共有する、軽量な箱
仮想マシンとの違いVMは完全OS(重い)、コンテナは軽量
Dockerコンテナを動かす、代表的なソフト
Kubernetes(K8s)たくさんのコンテナをまとめて管理するしくみ

DockerKubernetesは、役割が違う。Dockerは、コンテナを作って動かすソフト(エンジン)Kubernetes(K8s)は、たくさんのコンテナを、自動で配置・拡大・復旧して管理するしくみ(オーケストレーション)だ。

ここで一番のポイント。DockerとKubernetesは、役割が違う。「DockerとKubernetesは同じもの」と思い込むと誤りになる。これらは、クラウドで動く小さな部品(マイクロサービス)の基盤として広く使われている。

わかりやすく言い換えると

身近なたとえで整理しよう。

コンテナは、「同じ建物の区画を借りて、軽くすばやく住むイメージ」。一軒家(仮想マシン)より、ずっと身軽だ。

仮想マシンとの違いは、「仮想マシンは完全なOSを持って重い、コンテナはカーネルを共有して軽い」こと。要するに、コンテナは軽くて速い。

DockerとKubernetesの違いは、「Dockerはコンテナを動かす道具、Kubernetesはたくさんのコンテナを管理する管理人」こと。つまり、役割が分かれている。


試験のツボ

🔴 一番出る:コンテナの正体

①OSのカーネルを共有する、軽量な仮想化技術

②アプリに必要なものをひとまとめにした、軽い箱

🔴 次に出る:仮想マシンとの違い

①仮想マシン(VM)は完全なOSを持つ(重い)

②コンテナはOSのカーネルを共有する(軽くて速い)

🟡 押さえると安定:DockerとKubernetes

①Docker=コンテナを動かすソフト(エンジン)

②Kubernetes(K8s)=たくさんのコンテナを管理するしくみ


よくある間違い

「コンテナと仮想マシンは、まったく同じものだ」→ ✗  仮想マシンは完全なOSを持つ(重い)、コンテナはOSのカーネルを共有する(軽い)。

「DockerとKubernetesは、同じものだ」→ ✗  Dockerはコンテナを動かすソフト、Kubernetesはたくさんのコンテナを管理するしくみ。役割が違う。

「コンテナは、仮想マシンより重くて起動が遅い」→ ✗  逆で、コンテナはOSのカーネルを共有するので、軽くて起動が速い。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(コンテナの正体)

📝 オリジナル問題 1 コンテナの正体

コンテナに関する次の記述のうち、最も適切なものはどれか。

  1. OSのカーネルを共有して動く、軽量な仮想化技術のことである
  2. 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
  3. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
  4. 完成したシステムを宣伝して、より多く売るための広告活動である
セクハム
セクハム 解答・解説

解答は 1 だよ!

コンテナは、OSのカーネルを共有して動く、軽量な仮想化技術なんだよ!同じ建物の区画を借りるイメージで、軽くて速いんだね!

選択肢2は給与計算、選択肢3は請求書の事務、選択肢4は広告で、どれも違うよ!

選択肢判定理由
1OSカーネルを共有する軽量な仮想化で正しい
2給与計算のしくみではない
3請求書の事務の話
4広告活動ではない

オリジナル問題2(仮想マシンとの違い)

📝 オリジナル問題 2 コンテナと仮想マシンの違い

コンテナと仮想マシンの違いに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算するときだけ、違いが出るとされているものである
  2. 取引先への請求書の枚数しだいで、違いが決まるとされているのだ
  3. 仮想マシンは完全なOSで重い、コンテナは軽くて速いものである
  4. コンテナも仮想マシンも、まったく同じものだとされているのである
セクハム
セクハム 解答・解説

解答は 3 だよ!

仮想マシンは完全なOSで重い、コンテナは軽くて速いんだよ!コンテナはOSのカーネルを共有するからなんだね!

選択肢1の給与、選択肢2の請求書、選択肢4の「まったく同じ」は、いずれも違うよ!

選択肢判定理由
1給与計算で違いが出るのではない
2請求書の枚数で決まるのではない
3VMは重い・コンテナは軽いで正しい
4コンテナとVMは違う

オリジナル問題3(DockerとKubernetes)

📝 オリジナル問題 3 DockerとKubernetesの役割

DockerとKubernetesに関する次の記述のうち、最も適切なものはどれか。

  1. 社員の給与を計算するときだけ、使われるものだとされている
  2. 取引先へ請求書を郵送するときだけ、使われるものだとされる
  3. DockerもKubernetesも、まったく同じものだとされているのだ
  4. Dockerはコンテナを動かすソフト、K8sは多数を管理するしくみ
セクハム
セクハム 解答・解説

解答は 4 だよ!

Dockerはコンテナを動かすソフト、K8s(Kubernetes)は多数のコンテナを管理するしくみなんだよ!役割が違うんだね!

選択肢1の給与、選択肢2の請求書、選択肢3の「まったく同じ」は、いずれも違うよ!

選択肢判定理由
1給与計算のときだけではない
2請求書のときだけではない
3DockerとK8sは役割が違う
4Docker=動かす・K8s=管理で正しい

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る