VM(比如VirtualBox、VMware)的理念是在宿主的系統之上,自己虛擬了一個硬件平臺,然後運行一個不同的 OS。這意味着它要求很多的資源,在一臺機器上,你最多就跑幾個虛擬機吧。
而 docker 是依託於宿主機提供的內核,僅僅把一個不同的 linux 發行版本所需的特性打包成一個 image, 這樣子當你運行一個 ubuntu 鏡像,你會感覺就是在一個 ubuntu 的操作環境裏,但實際調用的系統接口都是來源於宿主機。所以當你運行一些內核相關的命令時,你就會發現一些端倪,比如 uname -a, 這時給出的信息肯定是宿主機的。
參考
我眼中的 Docker(一)docker、vm、lxc
http://blog.csdn.net/jcjc918/article/details/46486655
如何在Docker容器中運行GUI程序
http://www.linuxidc.com/Linux/2015-04/116477.htm
如何使用Docker部署Go Web應用程序
http://blog.csdn.net/horsefoot/article/details/51654785
開發者可以使用Docker做什麼?
https://news.cnblogs.com/n/521208/
Docker學習筆記(3)– 如何使用Dockerfile構建鏡像
http://blog.csdn.net/qinyushuang/article/details/43342553
Get Started with Docker
https://docs.docker.com/engine/getstarted/
Build your own image
https://docs.docker.com/engine/getstarted/step_four/
Docker中可以運行其他非linux系統嗎?比如windows,OS X
https://www.zhihu.com/question/33266701
DockerCon Day 2:城裏人玩鏡像
http://blog.daocloud.io/dockercon-day-2-jessie-image/