改めてDockerとは何か簡単にメモしておく。
Dockerとは
Dockerとは、軽量なコンテナ型の仮想環境を管理してくれるオープンソースソフトウェア。
この仮想環境は仮想マシンのようにOS上に別のOSを作成し、その上で仮想環境を作成してアプリを動かすのではなく、DockerはゲストOSを作成することなくアプリを動かすことができる。ここで、Dockerで出てくる用語を少しまとめておく。
【Dockerイメージ】
コンテナを作成するためのテンプレート。
これには、アプリケーションの実行に必要なミドルウェアなどの設定やコマンドがひとまとめになっている。
【コンテナ】
Dockerイメージをもとに作られたWebサーバやデータベースサーバなどが動作する仮想環境のこと。
【Dockerサーバー】
コンテナとDockerイメージを管理するサーバのこと。
Dockerのメリット
Dockerのメリットは他にもあるが、2点挙げておく。
誰でも同じ環境が作成できる
Dockerではミドルウェアのインストールや各種環境設定をコード化できる。そのため、Dockerエンジンをインストールしてあれば、アプリのDockerイメージからコンテナを作成するだけで環境構築が行えるため、同じ条件でローカル環境を構築することができる。これにより、開発環境では動作し、本番環境で動作しないような状況を減らすことができる。また、インフラ環境をコード化しているため、配布や共有がしやすい。
軽量でシンプル
Dockerコンテナは軽量なため、処理の遅延を気にせずに作業を行える。
また、コンテナはメモリやディスクの消費量を減らして仮想化することができる。