栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker原理(Namespace,Cgroups,Chroot)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker原理(Namespace,Cgroups,Chroot)

namespace主要实现资源的隔离(linux kernel > 3.8):

Mount Namespace
PID Namespace
Net Namespace #网络设备,网络栈,端口等
IPC Namespace #信号量,消息队列和共享内存
UTS Namespace #主机名与域名
User Namespace

Cgroups 限制物理资源(cpu,内存):

Linux Cgroups(Linux Control Group),Linux内核中用来设置资源限制的一个重要功能,
Cgroup对进程组的资源限制:

vim test.sh
#!/bin/bash
while :;do
:
done
chmod +x test.sh
./test.sh &

随后可以看到有cpu会被占满,如何对其进程进行限制?

Chroot 将指定目录设置为根目录,使的用户的操作被限制在当前目录而不影响其他目录:(docker实现文件系统级别的隔离 )
mkdir /test
cd test
chroot /test/
#报错 chroot:failed to run command ‘/bin/bash’:no such file or directory
#缺少chroot运行的环境,所依赖的各种库文件
#查询需要哪些库文件
ldd /bin/bash
linux-vdso.so.1 =>  (0x00007ffe0b970000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fc7b3503000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc7b32ff000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc7b2f3b000)
/lib64/ld-linux-x86-64.so.2 (0x000055dbfbad7000)#可以得知都是在于lib64
cp -r /lib64/ test
#还需要/bin/bash
mkdir bin
cp /bin/bash bin/
ls
bin lib64
chroot /test/
#成功将test目录设为根目录,从而实现了文件系统间的隔离
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号