2020年05月22日 05時00分 公開
特集/連載

いまさら聞けない「コンテナ」と「仮想マシン」の根本的な違いとは?コンテナネットワークの基礎知識【第1回】

「コンテナ」はアプリケーション開発に限らず、インフラ運用の技術としても関心が高まりつつあります。コンテナを理解するには、仮想マシンとの違いを整理することが重要です。何が違うのでしょうか。

[奈良昌紀, 細谷典弘, 千葉 豪,ネットワンシステムズ]

関連キーワード

Docker | ネットワーク


 複数のクラウドやオンプレミスなど、異なる環境で迅速にアプリケーションを実行するための技術として、「コンテナ」の利用が広がっています。コンテナ管理ツールの「Docker」に加え、「Kubernetes」のようなコンテナオーケストレーションツールが利用できるようになり、開発者に限らずITインフラ運用者の間でもコンテナへの注目度が高まっています。本連載はコンテナやコンテナネットワークの基礎知識など、コンテナをITインフラ運用に用いる場合に知っておくべきポイントを解説します。

 コンテナは仮想化技術の一つであり、単一のOSで複数のアプリケーションをそれぞれ隔離された状態で実行可能にします。コンテナを利用せず通常のOSで複数のアプリケーションを実行すると、そのOSが稼働するサーバ、そのサーバが利用するストレージ、ネットワークなどのリソースはアプリケーション間で共有されます。これに対し、コンテナでは各コンテナが個別に割り当てられたストレージやネットワークを持ち、他のコンテナから隔離された状態でアプリケーションを実行できます。

コンテナと仮想マシン、3つの違い

 コンテナの役割は、隔離されたアプリケーション実行環境を用意することです。その点で、広く普及している仮想マシン(VM)と類似しています。ただしVMはハイパーバイザーなどの仮想化ソフトウェアによってハードウェアを抽象化し、単一のハードウェアで複数のOSが起動することを実現する技術であり、仕組みはコンテナと異なります(図1)。まずはVMと比較することで、コンテナの特徴を考えてみましょう。

画像 図1 VM(ハイパーバイザー型、左)とコンテナの構造《クリックで拡大》

違い1.イメージサイズと可搬性

ITmedia マーケティング新着記事

news156.jpg

サイロ化の現実 75%の企業は部門間が連携せず、むしろ競争関係にある――Accenture調査
デジタル変革(DX)における不十分な事業部間連携は業績低下につながるというAccentureの...

news052.png

ゲーム業界がコロナ禍でTwitterを活用したコミュニケーションに注力した理由
コロナ禍において「巣ごもり消費」が拡大し追い風が吹いているといわれるゲーム業界だが...

news139.jpg

コロナ禍の観光に見える20の兆しとは? TBWA HAKUHODOなどが「観光復興ガイド」を公開
SNS上の旅行に対する価値観の激しい変化を分析し、そこから見えた20の新たな兆しとその後...