| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> LXC 容器简介 -> 正文阅读 |
|
[系统运维]LXC 容器简介 |
Lxc容器学习总结 1.Lxc(linux container)基本概念: Lxc是一种系统级别的虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。因为容器最终执行的命令也是调用统一的os api 来实现,是基于整个os 来实现的,所以不需要单独操作系统的编译系统、执行解释器,一切工作都是基于os 的基础上来完成的。容器有两个重要概念: 1.1隔离:容器有效地将操作系统管理的资源划分到独立的组中,并把各个独立的组进行隔离,可以让各自的组占用独立的资源,完成自己独立的任务。在一台服务器上通过LXC 可以提供多个相互隔离 的server contains 同时运行;LXC 通过chroot 提供独立的进程或者网络环境,用namespace 来实现多个容器环境的隔离,用cgroups 实现对每个容器资源的分配和限制 1.2共享:容器提供环境隔离的前提下,还提供了资源共享的机制,所以容器比真正kvm 虚拟机的资源要节省许多 2.Lxc是怎么实现的? linux contains 的技术是linux 内核的代码,并非Docker 开发出来的,Docker或者其他的虚拟化容器都是基于LXC 的技术,在基础的lxc 上包了一层代码,让LXC 更简单、更友好,更加好推广。利用了 Linux 内核直接提供的主机遏制功能。并且,LXC 容器带有单独的 init 系统,它们负责系统配置,同时保持轻量级的资源占用。 lxc依赖的主要组件是namespaces和cgroups。自 2.6.24 版以来,它们首先被添加到内核中。cgroups又名“控制组”的主要设计原则是提供资源限制、优先级、会计和控制。命名空间负责对其他容器隐藏一个容器的进程空间和资源信息。 2.1Chroot:创建一个虚拟的目录文件系统,其实质还是调用底层的文件系统,这个虚拟文件系统可以跟其他容器的虚拟文件系统相互隔离,但是共享底层文件系统。 2.2Namespace:命名空间可以提供一个进程间相互隔离的独立网络空间,不同容器间进程pid号可以相同,进程不冲突影响。但可以共享底层的计算和储存(cpu+mem) 2.3Cgroup: (223条消息) lxc的内存、网络、磁盘的监控管理(一)_爱海taotao的博客-CSDN博客_lxc.mount.entry (223条消息) lxc的内存、网络、磁盘的监控管理(二)_爱海taotao的博客-CSDN博客 监控容器状态 利用shell脚本监控LXC应用容器内的应用_Linux编程_Linux公社-Linux系统门户网站 (linuxidc.com) 3.lxc的组件 LXC 运行时由一堆单独的组件组成。这包括核心liblxc库、一组用于控制容器的标准工具、各种分发模板以及主要 API 的几种语言绑定。语言支持包括 Python、Go、Ruby、Lua 和 Haskell。此外,还有一些硬依赖项,如果没有这些依赖项,lxc 将无法安装,例如像 glibc、uclib 或仿生这样的 C 库。LXC 还需要内核版本2.6.32或更高版本。 那么他和虚拟机的区别又是什么? (1)与宿主机使用同一个内核,性能损耗小; (2)不需要指令级模拟; (3)不需要即时(Just-in-time)编译; (4)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制; (5)避免了准虚拟化和系统调用替换中的复杂性; (6)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。 ? Lxc和docker的区别是什么 Docker 和 LXC 之间的主要区别在于它们的设计选择。Docker 更强调构建应用程序。另一方面,LXC 旨在提供独立的 Linux 虚拟环境。 开发人员通常使用 Docker 来创建可以在新版本到来时立即丢弃的应用程序。然而,使用 LXC 的应用程序是持久的。您可以通过 ssh 进入 LXC 容器,就像进入远程 Linux 主机并管理环境一样。Docker 不允许这样做,您将使用专门的工具来管理部署和测试。最后,您可以使用其中任何一个来构建云应用程序。人们在构建需要长时间维护的应用程序时,通常会选择 LXC 而不是 Docker。 lxc这种操作系统级别的容器的主要好处是它们允许我们隔离敏感服务。您可以使用这种类型的虚拟化为恶意软件分析、道德黑客或需要独立主机的任务创建环境。然而,这些只是预期的目的。因此,您还可以运行通常在 Linux 机器上运行的任意服务。这与 Docker 以应用程序为中心的方法形成鲜明对比。 (222条消息) LXC C API 使用_hanpfei的博客-CSDN博客 (222条消息) linux 容器(LXC) 第10章 之C API 使用_cft56200_ln的博客-CSDN博客_lxc_container_new ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 6:25:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |