Dockerは、アプリケーションを実行するために必要な環境をまとめたものを「コンテナ」として扱うためのオープンソースのソフトウェアです。
Dockerを使用することで、アプリケーションを実行するために必要な環境をまとめることができ、アプリケーションが依存している環境によらず、同じように動作することが保証されます。
Dockerは、開発環境と本番環境で環境が異なっている問題を解決するためにも利用されており、開発したアプリケーションを本番環境に運用する際にも問題がないことが保証されます。
Dockerは、コンテナと呼ばれる単位でアプリケーションを管理するため、複数のアプリケーションを同時に動作させることができ、リソースの効率的な使用が可能です。
また、Dockerは、仮想マシンと違い、リソースの使用量が少なく、軽量であるため、サーバーのスペックによらず、多くのアプリケーションを動作させることができます。