LXD vs Docker 对比 区别 不同

2020-11-05  乐帮网

docker

Docker以其优秀的表现几乎是瞬间爆发式蔓延至全球,它的理念就是抽象,最小化部署,独立封装运行时。这正是越来越复杂的服务端需要的,但这种理念最初并不是由Docker创造发明的,LXC的诞生就是Docker早很多,在更早的时候使用LXC的还不少,只是没有这么流行,等等,明明不是说LXD和Docker做对比吗?和LXC有什么关系?LXD就是基于LXC开发的。

LXC在早期的市场上表现很好,它是用C,Python,Shell和Lua编写的。那和现在的Docker相比差在哪里呢?

LXC对运行时的封装主要是基于封装系统的API,虽然这使得它更轻量级,效率更高但是在集成和依赖方面加深了复杂度,没有像一样Docker对运行时做系统级别的完整封装,在使用上看起来简单,随着功能的扩展会显得有点错综复杂。如果你的程序功能相对简单和单一也不需要,或者做的是只是镜像一类的需求,那我还是推荐你使用它,效率上有保证,同时也能满需求。

LXD就是LXC的重构和完善,它和Docker同样是基于go的,它受到了LXC忠实粉丝的支持在市场份额上一直比较稳定。进入主题它们主要有哪些差别呢?

(1)产生时间LXD是进化来的产品项目也比较新,这个可能只是个参考,或者你对这个感兴趣。
在github上可以去看一下:
Docker Starts:58.8K  Watch:3.2k Fork:16.9k
LXD    Starts:62.7K  Watch:176     Fork:638
https://github.com/moby/moby
https://github.com/lxc/lxd

(2)支持的平台上LXD目前只支持LInux,Docker时候支持Windows和Linux,不过谁在Windows上使用这个技术?所以也只是个参考。
(3) 管理工具的支持 LXD集成了OpenStack,Docker则集成了Kubernetes,这一点儿Docker占优,不过通过扩展仍然可以结合使用Kubernetes和LXD。
(4)LXD是后起之秀,对系统的封装更加完善, 加强了多线程上支持,可并发执行多程序,而docke则不支持。
(5)在储存这一块LXD有优势,数据持久化储存方案要比Docker好。
(6)可移植性Docker做的要好很多,因为 LXD有了对储存器,网络等高度的封装和依赖,这一块在移植时要多注意。
(7)基础命令这一块两个相差不多,很形似没有啥可比的。
(8)社区文档和代码托管,Docker的社区和学习资料要多LXD多,两个官方文档都比较完善。
(9)学习难度上我怎么觉得LXD反而更简单,这一个点只是个人觉得。

除了介绍的这两种外常用的还有云服务商自家集成的解决方案,比如:AWS Fargate  和 ECS。

以上就是个人的总结,可能有小伙伴会拿Docker和 Kubernetes做比较,其实呢这都不是一个维度的东西,有时间我再写一篇。

原创文章,违法转载必究。

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力