そもそもコンテナ技術とは?

DXを支える開発・運用のプラットフォーム

DXを進める企業は、常に変化するビジネスニーズに対応し、競合に対して優位なポジションを確立することで成長し続けています。また、サービスの開発からリリースまでのスピードを加速させ、ビジネス上のリスクを取り除いています。そうしたお客さまのDX、ビジネスのデジタル化を支えるためには、アプリケーション開発とシステム運用のプラットフォームが重要です。

そのプラットフォームを実現するために注目を集めているのが、仮想化技術の1つであるコンテナ技術です。コンテナというと貨物輸送に使われる箱をイメージするかもしれません。港のパレット上に積まれたコンテナを、クレーンやフォークリフトで積み下ろしする光景はおなじみです。貨物輸送のコンテナは、荷主から預かった荷物をそれぞれの箱のなかに格納し、Aのコンテナは中国、Bのコンテナは米国というように目的の場所に届けます。

仮想化技術のコンテナは、OS上に仮想的に複数のコンテナ(分離・独立した領域)の箱を設け、そのなかで、アプリケーションを実行・動作させる仕組みです。コンテナにアプリケーションと実行環境などをひとまとめにすることで、柔軟で迅速なアプリケーション開発が可能です。貨物輸送のコンテナが目的地に応じて積み荷の内容を変えるように、コンテナごとにA業務向けやB業務向けといったように目的のアプリケーションを設定、実行します。

そして、コンテナのなかには、そのアプリケーションの実行に必要な設定ファイルやライブラリと呼ばれるプログラムの部品(ソフトウェア)、ランタイムと呼ばれるプログラムの動作に必要なソフトウェアなどが格納され、それぞれのプロセスが独立して実行・管理されます。これにより、ほかのアプリケーションとの競合を意識せずにシステムを構築・実行できます。つまり、Aのコンテナは製造業務アプリケーション、Bのコンテナは販売業務アプリケーションといったように、1つのOS上で異なる複数のアプリケーションを動作できます。

環境設定など複雑で手間のかかる作業をサポート

コンテナの構造イメージ

コンテナ技術は、次の3要素から構成されます。コンテナを実行する「コンテナ管理ソフトウェア」、コンテナの元データとなる「コンテナイメージ」、コンテナイメージから作成され、実行されるアプリケーションである「コンテナ」の3つです。

かつてはコンテナ内部の環境設定を手作業で行っており、専門知識のあるエンジニアにとっても複雑で手間のかかる作業が必要でした。こうした環境設定など、コンテナの動作に必要な機能を提供するのがコンテナ管理ソフトウェアです。代表的なものがDocker(ドッカー)です。

コンテナイメージは、コンテナに格納されるアプリケーションやアプリケーションの実行に必要な設定ファイル、実行環境、ミドルウェア、ライブラリなどをひとまとめにした、ファイル、設定情報のかたまりのことです。

コンテナは、独立して実行されるアプリケーションで、コンテナイメージから作成します。コンテナイメージは、コピーして別のコンテナに再利用することができます。

本サイトにてご紹介している内容をPDFでもダウンロードしていただけます。
ぜひご活用ください。

PDFお客さまのデジタルシフトを加速するコンテナサービス(⼊⾨ガイド)
NEC がおすすめするコンテナサービスとは

お問い合わせ