コンテナ(Container)とは、OS(基本ソフト)の機能を利用して、アプリケーションを実行するために必要なプログラムや設定、ライブラリなどを1つにまとめ、他のプロセスから隔離された「独立した実行環境」を作り出す技術です。従来の仮想化(VM)は仮想マシンごとに異なるOSを丸ごと動かす必要がありましたが、コンテナはホストOSのカーネル(核となる部分)を共有するため、非常に動作が軽く、起動も数秒で行えます。この軽量さとポータビリティの高さから、開発環境と本番環境を一致させる用途や、クラウドでの運用に欠かせない技術となっています。
物流で使われる本物の「コンテナ」に例えられます。中身(プログラムや設定)がすべて箱の中にまとまっているため、船(Windows)からトラック(Linux)へ積み替えても、中身を一切変更することなく同じように輸送・配置して動かすことができます。代表的なコンテナ管理ツールが「Docker(ドッカー)」です。プログラムのデプロイ時は以下のようなコンテナ設計書を使います。