Dockerの概要をご紹介します。
DockerはホストOSを使用する
DockerはゲストOS(Docker自体のOS)を持たずホストOSを使用します。なので、ゲストOSを持つ仮想化技術と比較して軽量です。DockerはホストOS上にDockerエンジン(Dockerデーモン)を構築して、仮想環境を構築します。これをコンテナ型仮想化と言います。
Dockerイメージとコンテナ
使用するライブラリはDockerイメージに含まれます。Dockerイメージはコンテナを実行するときに必要なファイルシステムです。Dockerイメージが保有するミドルウェア、アプリケーションは、レイヤで構成されています。Dockerエンジン上で同じレイヤがあれば、Dockerイメージ間でレイヤを共有します。
コンテナもレイヤーで構成されていて、下層がRead Onlyのイメージレイヤ。上層のイメージレイヤは追加していけます。
Docker for Windows
WindowsでDockerを起動する場合には、Linuxと少し異なっている箇所があります。WindowsではHyper-vを起動し、その上でDockerエンジンを起動しています。つまり、ホストOS(Windows)とDockerエンジンの間にHyper-vが入るということです。