💻

コンテナとホスト型サーバ仮想化の違い

2021/05/29に公開

はじめに

個人のPC上でサーバ環境を用意する場合は、「コンテナ」か「ホスト型サーバ仮想化」が多いと思います。
適切にどちらかを選択できるようになるために「コンテナ」と「ホスト型サーバ仮想化」を比較しました。

間違っている点などあれば、指摘いただけると幸いです。

目的

コンテナ ホスト型サーバ仮想化(サーバ仮想化技術)
・他の環境に移植しても動作しやすくすること
・負荷の増大や用途の拡大などに応じて性能や機能を向上、拡張できる環境でも動作すること
・異なる環境を効率よくエミュレートすること

構成

コンテナ ホスト型サーバ仮想化

リソース(CPUリソース、ディスク容量、メモリ使用量など)

コンテナ ホスト型サーバ仮想化
ホストOS上で動く他のアプリケーションと同じリソースを共有する ゲストOSを動かすため仮想マシンごとにリソースが必要

動作速度

コンテナ ホスト型サーバ仮想化
速い
ホストOS上で直接動作するため
遅い
ゲストOSを動かすために、ホストOSを経由してハードウェアを動かす必要があるため

設定の共有方法

コンテナ ホスト型サーバ仮想化
yamlファイル
ファイルサイズは小さく共有しやすい
イメージ
ファイルサイズが大きい(数GB)ことあるので、共有しにくい

さいごに

どちらを使用すればいいのか

(個人のPCでサーバ環境を用意する場合を想定)

コンテナ ホスト型サーバ仮想化
コンテナ使用に懸念点や不便がないとき
開発環境を複数人でそろえたいとき
ホストOSとは別のOSを使用したいとき
ホストOS上の他のプロセスに影響を与えたくないとき

参考

プログラマのためのDocker教科書 第2版
コンテナと仮想化の違いとは?
コンテナとは?
仮想化とは?
サーバー仮想化技術の基礎
コレ1枚で分かる「仮想マシンとコンテナの違い」
ポータビリティ 【portability】 可搬性 / 移植性 / 携帯性
スケーラビリティ 【scalability】
ホスト型とハイパーバイザー型の違いは何?VMware vSphere Hypervisor の概要
VPSの二大仮想化技術「コンテナ型」vs「VM型」―― その違いとメリット・デメリット
仮想マシンとコンテナの違いとは?~比較から見えるそれぞれの特徴~
仮想化に使うコンテナ技術って何?仮想マシンじゃどこがダメなのか?
仮想環境についてまとめてみる

Discussion