docker和lxc的对比和选择

两者都是虚拟化容器,都和宿主之间隔离,并且有非常低的风险被绕过容器隔离。
都支持桥接物理网络,直接接入上级路由,或者类似虚拟机那种仅限主机的网络配置。
两者在性能上没差别
都可以方便的备份和迁移
两者都可以挂载目录,或者挂到 raw格式的虚拟磁盘内。
内核都是使用宿主机内核

docker: 定位为应用程序容器,docker 至少有一个程序在前端运行,不然docker会直接关掉退出。 一般情况下,原则上一个docker只跑一个服务,早期的docker 就是lxc ,docker文件分层,docker的更新是整个镜像更新,要保留的文件需要提前映射到目录外部。
docker的镜像超多 使用方便

lxc:定位为系统容器,可以视作一个完整的操作系统,lxc的文件不分层 lxc没有镜像更新的概念他本身就是一个完整的操作系统,直接在系统内部升级对应的应用或者系统自身等即可。
lxc更为灵活,lxc因为是一个完整的系统,lxc内的是可以正常安装docker的 并且和lxc的宿主之间完全隔离
lxc的镜像较少,一般只是几个常见发行版的镜像

中小团队如何选择?

pve平台的话,不用考虑 lxc 也可以 一个lxc 跑一个服务。 能不用docker的 就直接lxc即可。 需要docker的 可以lxc 里面安装docker

如果所需服务不多,可以全部在一个lxc里面搞定

lxc 的alpine+docker 磁盘占用,比裸的lxc debian要小

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计