Docker底层原理:Namespace的使用

文章目录

unshare命令设置命名空间:

sh 复制代码
sudo unshare [options] [command]

options可选参数

-m 或 --mount:创建新的Mount命名空间

-i 或 --ipc:创建新的IPC命名空间

-p 或 --pid:创建新的PID命名空间

-n 或 --net:创建新的Network命名空间

-u 或 --uts:创建新的UTS命名空间

-U 或 --user:创建新的User命名空间

-C 或 --cgroup=:创建新的Cgroup命名空间

command是在新的命名空间中运行的命令

例子:

sh 复制代码
# 在一个新的PID namespace中运行一个shell会话
sudo unshare -p /bin/bash

# 创建一个新的Mount命名空间并挂载一个文件系统
sudo unshare -m mount -t ext4 /dev/sdb1 /mnt

# 创建一个新的IPC命名空间并运行指定的命令
sudo unshare -i ls -l

nsenter命令进入已有的命名空间

sh 复制代码
sudo nsenter [options] [command]

options可选参数

-m 或 --mount=:进入指定的Mount命名空间。

-i 或 --ipc=:进入指定的IPC命名空间。

-p 或 --pid=:进入指定的PID命名空间。

-n 或 --net=:进入指定的Network命名空间。

-u 或 --uts=:进入指定的UTS命名空间。

-U 或 --user=\:进入指定的User命名空间。

-s 或 --setuid :设置指定的UID。

-r 或 --setgid :设置指定的GID。

command是要在特定命名空间中运行的命令

例子:

sh 复制代码
# 进入指定的PID命名空间并执行命令:
sudo nsenter -t <PID> -p /bin/bash

# 进入指定的Mount命名空间并挂载一个文件系统:
sudo nsenter -t <PID> -m mount -t ext4 /dev/sdb1 /mnt

# 进入指定的UTS命名空间并修改主机名:
sudo nsenter -t <PID> -u hostname newhostname
相关推荐
承渊政道19 分钟前
星空组网+Python实战:在另一台电脑上查看CSV报表
运维·开发语言·python·csv·星空组网
木卫二号Coding5 小时前
推荐Linux统计文件大小并操作删除工具-ncdu
linux·运维·服务器
志栋智能6 小时前
超自动化运维:实现IT服务消费化的基础
运维·自动化
198******126347 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
吴声子夜歌7 小时前
Nginx应用与运维——Nginx HTTP模块详解(数据处理功能模块)
运维·nginx·http
2601_967212727 小时前
专利型电源轨道系统技术路线对比与选型框架
大数据·运维·网络·经验分享
数字化顾问8 小时前
(138页PPT)流程体系的建设优化与运营(附下载方式)
大数据·运维·人工智能
2601_967287578 小时前
轮胎侧壁上的 91V 是什么意思,负荷指数与速度级别怎么看
运维·服务器·汽车
小此方9 小时前
Linux网络(十九):TCP流量控制与滑动窗口详解,超时重传和快重传到底有什么区别
linux·运维·服务器·网络·网络协议·tcp/ip
海宇服务9 小时前
零信任架构实战:基于海宇运营商近3个月欠费次数构建自动化履约能力评估管线
运维·人工智能·架构·自动化