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[=<UID/GID map>]:进入指定的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
相关推荐
星宸追风3 分钟前
Ubuntu更换Home目录所在硬盘的过程
linux·运维·ubuntu
制造数字化方案研究院17 分钟前
59页|PPT|华为集成服务交付ISD业务变革总体方案:业务规则、流程、IT、组织及度量“四位一体”的管理体系
运维·华为
杨浦老苏28 分钟前
Docker端口映射查看工具Dockpeek
网络·docker·群晖
热爱生活的猴子28 分钟前
Poetry 在 Linux 和 Windows 系统中的安装步骤
linux·运维·windows
渲吧-云渲染1 小时前
云渲染时,电脑能关机吗?关键阶段操作指南
运维·服务器·电脑
m0_694845571 小时前
服务器需要备案吗?在哪些地区需要备案?
linux·运维·服务器·云计算
小眼睛FPGA1 小时前
【RK3568+PG2L50H开发板实验例程】Linux部分/FPGA dma_memcpy_demo 读写案例
linux·运维·科技·ai·fpga开发·gpu算力
别骂我h2 小时前
Kubernetes服务发布基础
云原生·容器·kubernetes
weixin_399380693 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
阿巴~阿巴~3 小时前
Linux基本命令篇 —— uname命令
linux·运维·服务器