仮想環境とdockerの違いってなんですか?
簡単に言い表すと、重くて遅いのが仮想環境で、軽くて早いのがDockerです。
また、フルセットの仮想化技術が仮想環境で、サブセットの仮想化技術がDockerコンテナ、と言えるようにも思います。(違うかもしれませんが・・・)
仮想環境は、PCそのものをエミュレートするので、PC上のOS機能がすべて再現されます。OSレベルで分離ができる反面、OS全体を仮想ディスクに格納するため容量も大きく、起動もそれなりに時間がかかります。
一方で、Dockerはコンテナと呼ばれる、プロセスだけを分離して動かす技術です。例えば、Web開発であれば、httpd や nginx だけを分離して動かす事ができるようになります。仮想環境に比べて、イメージの容量が少なく、起動が速く、軽いという特徴があります。
加えてDockerコンテナには、仮想マシンに比べて容量が少ないため、同じ環境をコピーしたり、配布したりすることが容易になりました。必要なライブラリやツールをDockerコンテナに同梱することで、複数の開発者が同じ環境を使うことができ、環境の違いによるトラブルが減ったり、環境のメンテナンスに掛かる苦労が減る、といった効果があります。