通过chroot实现Linux子系统

版权声明:本文为博主原创文章,转载请注明出处。

前言

在一些精简的Linux发行版里,很多时候会有无法运行需要某些依赖的程序的情况。

然而,会搭载这种精简系统的设备,一般无法重新安装系统;例如:路由器、手机等其他嵌入式设备。

而且受限于系统内核(缺少cgroup的一些高级特性等),也无法安装docker。

同时,在不同的Linux发行版下,使用的C语言标准库也不尽相同;如:glibc、musl等。

即使CPU支持程序所使用的指令集,使用glibc所编译的程序,也无法在musl环境下运行。(使用兼容层也会出现依赖问题)

容器技术分析

以下仅为个人理解,仅供参考,欢迎纠错。

  • chroot jail: 使用chroot命令以特定目录作为根目录执行程序,被执行的程序无法访问新根目录以外的文件,实现了文件系统层的隔离。(无需内核支持)
  • LXC(Linux Containers): 在chroot的基础上,追加了进程隔离独立的网络环境。(需要内核支持)
  • Docker: 早期基于LXC实现,再在LXC的基础上,实现了镜像的逐层叠加、打包、发布,优化了应用部署流程
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值