开发者社区> 问答> 正文

Docker和其他VM技术有什么不同?

已解决

最近发现Docker很火啊,好像所有的服务都可以放到Docker里面来跑。貌似Docker也分很多不同的系统,Docker也是一种虚拟机(VM)技术吗?我看Docker的镜像都很小,是不是一种简化的虚拟机呢?

展开
收起
西秦说云 2016-02-01 16:09:39 3170 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista
    采纳回答

    docker相对于全虚拟化和半虚拟化而言,是所谓的操作系统级别的轻量级虚拟化技术。传统的虚拟化技术要生成一个环境的时间非常久,对于docker来说启动和销毁都是秒级的,而且它底层依赖的技术lxc(linux container)完全是内核特性,没有任何中间层开销,对于资源的利用率极高性能接近物理机。当然由于现在docker依赖于lxc,所以你只能在Linux上跑它(现在mac osx也支持,但是也只是用了virtualbox搞了个linux虚拟机啊罢了,相信我,现在在mac上使用它没有任何意义,即使为了docker开发,我也认为vagrant更合适,昨天刚尝试了一把boot2docker这个mac工具,体验真是不好)。

    题主所谓的不同的系统其实是一个docker维护的镜像,对于lxc来说这个并不需要,但是docker维护了这套镜像更方便保存应用环境,做到无依赖的环境分发。另外你说的docker镜像都很小并不准确,docker的镜像大小是应用决定的,你可以让你的镜像保存任意东西,也就是可以是任意大小的。

    docker是不是什么都适合做,目前来看并不是,对于精度要求很高的计费任务来说docker还不合适,但是对于普通的PaaS足够了,而且docker目前发展很迅速,相信特性的增强会很快。

    2019-07-17 18:27:39
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载