参考文献

nsenter

  • nsenter 是一个 Linux 实用程序,允许您在正在运行的进程的命名空间中运行命令。命名空间是 Linux 内核的一项功能,可为进程提供隔离的环境,并被 Docker 等容器技术用来创建隔离的容器。
  • 使用 nsenter,您可以在正在运行的进程的命名空间中运行命令,从而有效地允许您访问该进程的环境。这对于各种任务都很有用,例如调试进程、检查容器的文件系统或使用类似 chroot 的操作更改进程的根目录。
  • nsenter 对于管理 Docker 容器特别有用,因为它允许您进入容器的命名空间并执行操作,就像您在容器本身内部一样。这对于排除容器问题或执行维护任务而无需启动新容器特别有帮助。

使用说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# nsenter --help

用法:
nsenter [选项] [<程序> [<参数>...]]

以其他程序的名字空间运行某个程序。

选项:
-a, --all enter all namespaces
-t, --target <pid> 要获取名字空间的目标进程
-m, --mount[=<文件>] 进入 mount 名字空间
-u, --uts[=<文件>] 进入 UTS 名字空间(主机名等)
-i, --ipc[=<文件>] 进入 System V IPC 名字空间
-n, --net[=<文件>] 进入网络名字空间
-p, --pid[=<文件>] 进入 pid 名字空间
-C, --cgroup[=<文件>] 进入 cgroup 名字空间
-U, --user[=<文件>] 进入用户名字空间
-S, --setuid <uid> 设置进入空间中的 uid
-G, --setgid <gid> 设置进入名字空间中的 gid
--preserve-credentials 不干涉 uid 或 gid
-r, --root[=<目录>] 设置根目录
-w, --wd[=<dir>] 设置工作目录
-F, --no-fork 执行 <程序> 前不 fork
-Z, --follow-context 根据 --target PID 设置 SELinux 环境

-h, --help display this help
-V, --version display version