コンテナとは?こんてな
コンテナとは、アプリケーションと依存ライブラリをひとまとめのイメージにし、ホストOSのカーネルを共有したまま名前空間とcgroupで隔離して動かす方式。ゲストOSを持たないため起動が速く集約密度が高く、同じイメージであれば開発機でも本番でも同じ構成で動く。
最終更新:2026-10-06
この語が出る過去問を解く →背景
同じソースでも、ライブラリの版やミドルウェアの設定が環境ごとに違えば動かない。環境差を人手の手順書で埋めていた限り、「開発機では動く」という手戻りは無くならなかった。ゲストOSごと固める仮想マシンなら差は消えるが、イメージが数ギガバイトになり起動も遅く、1台に多数を並べる用途には重い。カーネルを共有して隔離だけを行えば、環境ごと配りつつ密度と起動速度を確保できる、という折り合いから生まれた方式である。
具体例
アプリと依存ライブラリをDockerイメージに固め、KubernetesがそのイメージからPodを起動する構成が定番になっている。Googleは自社サービスを長年コンテナで運用しており、その知見をもとにKubernetesが公開された。CIで作った同一イメージを検証環境と本番へそのまま配ると、環境差による差し戻しが減る。
試験での引っ掛け
ハイパーバイザ型の仮想化と混同されやすい。仮想マシンはゲストOSを丸ごと持つが、コンテナはホストのカーネルを共有するため、LinuxホストでWindowsコンテナはそのまま動かない。また「隔離されているから安全」ではなく、イメージに古いライブラリが入っていればその脆弱性ごと本番へ配布される。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 応用情報技術者試験 午前 問17(IPA)解説で登場
サーバアプリケーションの開発のための,オブジェクト指向技術に基づいたコンポーネントソフトウェアの仕様はどれか。
正解:EJB(Enterprise JavaBeans)
要点:EJBはサーバ側業務ロジックのコンポーネント仕様
EJBは、Java EEにおいてサーバ側の業務ロジックをコンポーネントとして実装するための仕様である。オブジェクト指向技術に基づき、トランザクションやセキュリティなどをコンテナが提供するため、開発者は業務ロジックに集中できる。
出典:令和3年度 秋期 応用情報技術者試験 午前 問14(IPA)
コンテナ型仮想化の説明として、適切なものはどれか。
正解:アプリケーションの起動に必要なプログラムやライブラリなどをまとめ、ホストOSで動作させるので、独立性を保ちながら複数のアプリケーションを稼働できる。
要点:コンテナ型はホストOSのカーネルを共有し軽量に隔離する
コンテナ型仮想化は、アプリケーションと必要なライブラリなどをひとまとめにして、ホストOSのカーネルを共有したまま隔離された環境で動かす方式である。ゲストOSを持たないため起動が速く、資源のオーバヘッドが小さい。反面、ホストOSと異なる種類のOSは動かせないという制約がある。
出典:令和4年度 秋期 応用情報技術者試験 午前 問12(IPA)
コンテナ型仮想化の説明として、適切なものはどれか。
正解:物理サーバのホストOSと仮想化ソフトウェアによって、プログラムの実行環境を仮想化するので、仮想サーバに個別のゲストOSをもたない。
要点:コンテナ型はゲストOSを持たずホストOSのカーネルを共有する
コンテナ型仮想化は、ホストOSのカーネル機能でプロセスやファイルシステムを分離し、アプリケーションの実行環境だけを独立させる方式です。コンテナごとにゲストOSを持たないため、起動が速くリソース消費も小さくなります。
出典:令和5年度 春期 応用情報技術者試験 午前 問20(IPA)
コンテナ型仮想化の環境であって、アプリケーションソフトウェアの構築、実行、管理を行うためのプラットフォームを提供するOSSはどれか。
正解:Docker
要点:コンテナ型仮想化はOSを共有するため軽量で起動が速い
Dockerは、OSのカーネルを共有しながらプロセスを隔離するコンテナ型仮想化を用いて、アプリケーションの構築・実行・管理を行うオープンソースのプラットフォームである。ゲストOSを持たないため、ハイパーバイザ型の仮想化に比べて軽量で起動が速い。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。