Dockerは仮想化ソフトウェア(VMware,VirtualBoxなど)と雰囲気が似てますが、全く異なるものです。
仮想化ソフトウェアは、windowsやmacなどの共有ハードウェアの上に更に積み上げたOSのことをいいます。
仮想化ソフトウェアを使って作り上げたサーバーを仮想サーバーといいます。
これに対しDockerは、Linuxのカーネルと呼ばれる心臓部を分割、共有して使います。そのため、仮想化ソフトウェアに比べて無駄が少ないです。
仮想化ソフトウェア | Docker | |
長所 | 仮想マシン毎に異なるOSを実行することが可能 | 軽量 |
短所 | 重い | データの保存には一工夫必要 |
windows, mac OSでDockerを使おうとすると、Docker for windowsもしくはDocker for Macをインストールしないといけません。Docker for windowsやDocker for Macは仮想サーバーです。普段よく使うwindowsやmacのパソコンに仮想サーバーをインストールしないといけない理由は、Linuxのカーネル環境を整えるためです。
逆に、AWSなどのクラウドコンピューティング上でubuntuベースのインスタンスを使う時は、もう既にカーネル環境は整っていますので、そうした仮想化ソフトウェアのインストールは必要ありません。
Dockerが本領を発揮するのは、AWSやGCPといったクラウド環境でアプリケーションを開発する時と言えそうですね。