Dockerとは?Dockerと仮想マシンの違い


今回はDockerとは何か、Dockerと仮想マシンの違いについてを簡単に紹介します。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。

Docerって何?

開発者やシステム管理者 がコンテナを使用してアプリケーションを開発、デプロイ(いつでも使える状態にする)、および実行するためのプラットフォームのことです。
ここで、コンテナとは、Dockerイメージ(コンテナを作成するためのファイルシステムや設定をまとめたもの)を起動し、その内部でアプリケーションが稼動している状態のことです。
Dockerの特徴は、アプリケーションとその実行環境、展開/操作方法(スクリプト)などをまとめて1つのパッケージにし、保存/配布しているDockerイメージのダウンロードや起動が非常に軽量なことです。

Dockerと仮想マシンの違い

仮想マシンは、ホストOS上でハイパーバイザと呼ばれるソフトウェアを利用し仮想マシンを作成後、ゲストOSを動かし、その上でミドルウェアなどを動かします。
一方、Dockerでは、各コンテナはホストOSのカーネルは共有しつつも、各コンテナ内のアプリケーションは分離された場所で実行されます。
このように、プロセスやユーザなどを隔離することで、あたかも別のマシンが動いているかのように動かすことができ、軽量で高速に起動、停止などが可能です。