Docker Visual Learning Simulator

視覚的アニメーションとLinuxカーネルの仕組みを同時に学ぶ

🔰 現在は【初心者向け(例え話)モード】です。直感的な解説を表示しています。上のボタンから「低レイヤー」に切り替えるとより高度な内部構造が見えます!

仮想マシン(VM) と Dockerコンテナ の構造比較

完全に独立したOSを持つ「VM」と、1つのカーネルを極限まで分け合う「コンテナ」のアーキテクチャ。

初心者向け:例え話で納得する違い

🏡 仮想マシンは「一戸建て」

家ごとに、水道、電気の配線、警備会社、全部を個別に用意します。完全に独立していて安全ですが、家を建てるのに時間がかかり(起動が数分)、土地も広く必要です。

🏢 コンテナは「シェアアパート」

1つの頑丈なビルの土台、配管、セキュリティをみんなで直接使いまわします。自分の部屋には鍵がかかっているので干渉しません。家を建てる必要がないため一瞬で部屋を用意でき(起動がミリ秒)、非常に省スペースです。
仮想マシン (Virtual Machine) STOPPED
アプリ / 依存ライブラリ (App A, B, C)
ゲストOS (完全な独自カーネル) ※ 各VMごとに数GB〜数十GB必要
ハイパーバイザー (Hyper-V / ESXi / VirtualBox)
ホストOS (Windows / macOS / Linux)
物理サーバー (CPU / メモリ / ストレージ)
OSブート時間 (システムロード): --
ホストメモリ消費: 0 MB
Docker コンテナ (Container) STOPPED
App 1 (Node)
App 2 (Go)
App 3 (Py)
Docker Engine (runc, containerd) ※ OSを内包せず、カーネルのプロセス空間を直結
ホストOSカーネルを直接共有 (Linux Kernel) NO OVERHEAD
ホストOS (Linux)
物理サーバー (CPU / メモリ / ストレージ)
コンテナ起動時間 (プロセス起動): --
ホストメモリ消費: 0 MB

リソーススケール・耐久テスト

同じスペックの物理サーバーで何台動かせるかをシミュレートします。

VM増設 (2.0GB空きサーバー) 0 台起動中
コンテナ増設 (2.0GB空きサーバー) 0 台起動中

Docker チートシート & 重要カーネル操作コマンド

画像の作成 (Build)
docker build -t app:v1 .

レシピ(Dockerfile)をパースし、差分をキャッシュ付きでイメージ化。

コンテナ起動 (Run)
docker run -d -p 8080:80 --name web app:v1

ポート転送を有効化しつつ、独立プロセスとしてバックグラウンドで起動します。

低レイヤー検証 (Inspect)
docker inspect web

マウントパス、ネットワークIP、cgroups、名前空間の設定を詳細ダンプ。

ホスト統計確認 (Stats)
docker stats

cgroupsから集計したメモリ・CPU使用率をリアルタイムモニタリング。