検索

「コンテナ」徹底比較 選び方、お薦め製品は?

ユーザー企業のIT担当者を対象に、IT製品/サービスの導入・購買に役立つ情報を提供する無料の会員制メディア「TechTargetジャパン」。このコンテンツでは、コンテナに関する比較の記事を紹介します。製品/サービス選定の参考にご覧ください(リンク先のページはPR記事を含みます)。

いまさら聞けないコンテナ&マイクロサービス

 コンテナは、業務をこなすために必要な最低限のリソースのみを配備したアプリケーションロジックのコンポーネントを格納する。仮想マシン(VM)と異なり、コンテナはOSを必要としない。OSリソースはAPI経由で呼び出される。(続きはページの末尾にあります)

コンテナ関連の比較

コンテナとマイクロサービスの違い

 コンテナは、アプリケーションの各機能を実行するために必要な構成要素を格納している。この構成要素には、ファイルや環境変数(OS内でデータを共有するための変数)、ライブラリ(プログラム部品群)などが含まれる。コンテナ管理ツールは、CPUやメモリ、ストレージといったサーバの物理リソースに対する、各コンテナからのアクセスを制限する。そのため1つのコンテナが、そのコンテナが稼働するサーバの物理リソースを全て消費してしまうことはない。

 「コンテナイメージ」は、コンテナの実行に必要なファイル一式を指す。コンテナ管理ツールの種類ごとに、コンテナイメージの構成要素は異なる。Dockerのコンテナイメージの場合は、複数のレイヤー(層)で構成されている。レイヤーは「イメージレイヤー」と「コンテナレイヤー」の大きく2つに分けられる。

 イメージレイヤーは、Dockerコンテナを実行するために必要な、全ての構成要素を含む、編集できない読み取り専用のレイヤーだ。各Dockerコンテナには、そのDockerコンテナの設計を変更するためのコンテナレイヤーがある。コンテナレイヤーは、複数のDockerコンテナで再利用できる。

コンテナを利用するメリット

 コンテナは移植性に優れている。同じコンテナ管理ツールが稼働するインフラ同士であれば、インフラごとにアプリケーションのソースコードを変更せずに、同じコンテナイメージを実行できるからだ。例えばテスト時にはインフラとしてAmazon Web Services(AWS)の同名クラウドサービス群のVMを利用して、本番時にはオンプレミスのDell製サーバを利用するといった使い方ができる。

ページトップに戻る