首页/系统/Linux 运维命令速查/nsenter 进入命名空间排错
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条
进程与作业69 条
磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

nsenter 进入命名空间排错

宿主机上「钻进容器」的底层方法:按 PID 进入目标进程的网络/挂载/PID 命名空间,容器里没有的工具用宿主机的跑。

Linux 运维命令速查系统更新于 2026-10-12
用途进入目标进程的 namespace(net/mnt/pid 等)
语法nsenter -t PID [--net] [--mount] 命令
常用-t 目标进程 -n net -m mount -u uts -i ipc -p pid -a 全部

常用示例

常用示例
pid=$(docker inspect -f '{{.State.Pid}}' 容器名)
nsenter -t $pid -n ss -tlnp                    # 用宿主机的 ss 看容器端口
nsenter -t $pid -m df -h                       # 看容器挂载的磁盘
nsenter -t $pid -a /bin/bash                   # 进入全部命名空间
docker exec 容器名 ss -tlnp                     # 容器自带工具时优先 docker exec
容器「最小镜像没工具」时,nsenter 用宿主机工具排查;K8s 场景更规范的是 kubectl debug/ephemeral 容器。

易错点

  • 进入后仍是宿主机视角的 UID:--mount 下操作容器文件系统注意别用错路径
  • 先拿对 PID:docker inspect 的 State.Pid 才是主进程;找错 PID 会进错命名空间

数据来源与参考

  • man 1 nsenter(util-linux 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌