DockerとKubernetesの違いを現役講師が解説|コンテナ入門の第一歩
Skills Boost Infra Academy
DockerとKubernetesの違いを現役講師が解説|コンテナ入門の第一歩
コンテナ技術の基礎からDockerとKubernetesの役割分担まで丁寧に解説
「DockerとKubernetesって何が違うの?」という疑問に、14年のインフラ経験を持つ現役IT講師がわかりやすく答えます。
吉田たかし|元NWエンジニア・現役IT講師
CCNA/CCNP/LPIC-1/AZ-900取得。14年のインフラエンジニア経験を持つ現役IT講師。コンテナ技術の研修を担当してきた経験から、初学者がつまずくポイントを中心に解説します。
📌 この記事のポイント
✅ DockerはアプリをコンテナにパッケージするToolで、KubernetesはそのコンテナをOrchestrationするPlatform
✅ Dockerだけでも動かせるが、本番運用ではKubernetesのような管理基盤が必要になる
✅ インフラエンジニアはまずDockerを習得してからKubernetesに進むのが王道ルート
1. コンテナとは何か?VMとの違い
コンテナとは、アプリケーションとその実行に必要なライブラリ・設定をひとまとめにしたパッケージです。仮想マシン(VM)はOSごと仮想化するのに対し、コンテナはホストOSのカーネルを共有するため、起動が速く軽量です。
| 比較項目 | 仮想マシン(VM) | コンテナ |
|---|---|---|
| 起動時間 | 数分 | 数秒 |
| サイズ | 数GB〜数十GB | 数MB〜数百MB |
| OS | ゲストOS含む | ホストOS共有 |
| 主な用途 | インフラ基盤全体 | アプリケーション単位 |
2. Dockerとは何か?
Dockerはコンテナを作成・実行・管理するためのプラットフォームです。開発者がアプリを「Dockerfile」で定義し、どこでも同じ環境で動作するコンテナイメージを作れます。「自分のPCでは動くのに本番では動かない」という問題をなくすのが最大の価値です。
コンテナイメージの作成
DockerfileからイメージをBuildし、Docker Hubなどのレジストリに保存・共有できる
コンテナの起動・停止
docker run/stop/rmなどのコマンドで手軽にコンテナを操作できる
ネットワーク・ボリューム管理
コンテナ間通信や永続データのVolumeマウントを設定できる
3. Kubernetesとは何か?
Kubernetesは、多数のコンテナを自動でデプロイ・スケーリング・管理するオーケストレーションシステムです。Googleが設計しCNCFに寄贈したOSSで、現在クラウドネイティブの事実上の標準となっています。
4. DockerとKubernetesの使い分け
| シーン | 推奨ツール | 理由 |
|---|---|---|
| 開発・動作確認 | Docker | 手軽にコンテナを起動・停止できる |
| 本番環境(少数コンテナ) | Docker Compose | 複数コンテナを定義ファイルで管理 |
| 本番環境(大規模) | Kubernetes | 自動スケール・高可用性・ローリングUpdateが必要 |
※ Dockerおよびkubernetesのバージョンや仕様は変更される場合があります。公式ドキュメントも合わせてご確認ください。




