💻
コンテナとホスト型サーバ仮想化の違い
はじめに
個人の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