容器使用指南:LXD与Docker实践
1. 容器技术简介
容器并非新兴技术,早期以chroot和FreeBSD Jails的形式存在。Docker的兴起让容器得到广泛应用和关注,Ubuntu 15.04还推出了新工具LXD。
容器是一种轻量级虚拟环境,用于容纳一个或一组进程。与chroot类似,它创建隔离的虚拟环境来分组和隔离进程。容器内的进程与基础操作系统环境以及同一主机上的其他容器相互隔离,无法访问或修改容器外的内容。Linux内核对命名空间和cgroups的支持,使容器具备更好的隔离和资源管理能力。
容器广泛应用的原因之一是与基于虚拟机监控器的虚拟化技术不同,虚拟机需要自己的内核,而容器与主机共享内核,从而创建出快速、轻量级的隔离环境。共享内核减少了虚拟机的开销,提高了资源利用率,应用启动速度更快,镜像体积更小,便于云部署。而且,共享操作系统占用空间小,节省的资源可用于在同一主机上运行更多容器,在笔记本电脑上运行数百个容器也很常见。
不过,容器化也有缺点。一是无法运行跨平台容器,容器必须使用与主机相同的内核,不能在Linux主机上运行Windows容器,反之亦然。二是隔离和安全性不如基于虚拟机监控器的虚拟化技术。
容器主要分为两类:操作系统容器(OS容器)和应用程序容器。应用程序容器专为托管单个服务或应用而设计,Docker就是典型的应用程序容器,虽然也能运行多个进程,但主要设计用于运行单个进程。OS容器则类似于虚拟机,提供用户空间隔离,可以安装和运行多个应用程序及进程,Linux上的LXC和BSD上的Jails就是OS容器的例子。
LXD与Docker容器实践指南
超级会员免费看
订阅专栏 解锁全文
395

被折叠的 条评论
为什么被折叠?



