概要
Dockerは、コンテナと呼ばれる軽量な環境でアプリケーションをパッケージ化、デプロイするためのプラットフォームです。アプリケーションとその依存関係をまとめてコンテナに閉じ込めることで、開発環境と本番環境の違いによる問題を解消し、移植性と再現性を高めます。アプリケーションの分離を促進し、リソースの有効活用にも貢献します。
Dockerエンジンは、Dockerイメージからコンテナを作成・実行します。Dockerイメージは、Dockerfileというテキストファイルに基づいて構築され、アプリケーションのコード、ランタイム、システムツール、ライブラリなどを記述します。コンテナはプロセスを隔離するLinux名前空間やcgroupsを利用しており、ホストOSのカーネルを共有するため、仮想マシンよりもオーバーヘッドが少ないのが特徴です。Docker Hubなどのレジストリで公開されているイメージを利用することも可能です。