-
Notifications
You must be signed in to change notification settings - Fork 0
MS_HyperVContainer
nishi_74322014 edited this page Aug 12, 2026
·
1 revision
- 戻る(Hyper-V、コンテナ技術)
- Hyper-V コンテナ
- Windows Serverコンテナ
- Hyper-Vの Hypervisor で Windows や Linux を動かす。
- その中で、Windows ネイティブ(Nano Server(
MS_NanoServer.md))&
Linux ネイティブな軽量な仮想マシンをコンテナとして動かす。 - ホストとゲストの OS イメージの分離によって安全性が高まり、
マルチテナント環境ではメリットが得られる。 - Hyper-V コンテナは実行時に Docker Engine によってのみ実行される。
- VM ではないため、Hyper-V Manager などの従来の Hyper-V ツールで
管理されない。 - Linux の場合は、Docker on MobyLinux on Hyper-V on Windows 実機となる。
- VM ではないため、Hyper-V Manager などの従来の Hyper-V ツールで
- コンテナ毎に実行される仮想マシン環境。
- 仮想マシンの中でコンテナ用 OS が、
- さらにその上でコンテナ・プロセスが実行される。
- コンテナはコンテナ用 OS 環境を疑似的に提供する。
- ホスト OS とカーネルを共有しない。
- コンテナ用 OS とカーネルを共有する。
- Server Core(
MS_ServerCore.md) - Nano Server(
MS_NanoServer.md)
- Server Core(
補足(分離レベルの比較): Windows Serverコンテナとの
違いは「カーネルを共有するか」の一点である。
Windows Server コンテナ Hyper-V コンテナ 分離 プロセス(OS レベル) ハイパーバイザ(HW レベル) カーネル ホストと共有 専用(軽量 VM の中) 起動時間 速い(秒未満) 遅い(数秒) メモリ 小さい 大きい(VM 分) ホストとの OS バージョン一致 必要 不要(古いイメージも動く) 安全性 中(カーネルの脆弱性が波及しうる) 高 「速さを取るか、分離を取るか」というトレードオフであり、
マルチテナント(他人のコードを動かす)では Hyper-V コンテナが選ばれる。
補足(現在は「分離モード」として指定する): 執筆当時は
「2 種類のコンテナ」という説明だったが、現在は
同じイメージを「分離モード」で切り替えて動かすという整理になっている。docker run --isolation=process mcr.microsoft.com/windows/servercore:ltsc2022 docker run --isolation=hyperv mcr.microsoft.com/windows/servercore:ltsc2022
OS 既定の分離モード Windows Server process(速い)Windows 10 / 11(クライアント) hypervクライアント OS で既定が
hypervなのは、
開発者のホスト OS を守るためである。
「Windows 10 でコンテナが遅い」と感じるのはこれが理由になる。
補足(Linux コンテナとの関係): 「Linux の場合は
Docker on MobyLinux on Hyper-V」という記述は
Docker Desktop の旧構成である。
現在は WSL2バックエンドが既定になり、
MobyLinuxVM は使われなくなった
(Docker Desktop for Windowsを参照)。
- 明らかになった「Hyper-Vコンテナー」の正体(その仕組みと管理方法)
http://www.atmarkit.co.jp/ait/articles/1512/11/news022.html
- 分離モード
https://learn.microsoft.com/virtualization/windowscontainers/manage-containers/hyperv-container
Tags: 移行, Windows, Hyper-V, 仮想化, コンテナ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。