nsenter命令调试容器网络

2024-05-23  本文已影响0人  午觉不眠Orz

1. 获取容器进程id

docker inspect -f '{{.State.Pid}}' 容器id或名称
nerdctl inspect -f '{{.State.Pid}}' 容器id

2. 使用nsenter进入容器的命名空间

nsenter --target <container_pid> --mount --uts --ipc --net --pid
将 <container_pid> 替换为你从 Docker 获取的 PID。
这个命令的各部分含义如下:
--target <container_pid>:指定要附加的容器的 PID。
--mount:进入容器的挂载命名空间。
--uts:进入容器的 UNIX 时光戳命名空间(hostname)。
--ipc:进入容器的进程间通信命名空间。
--net:进入容器的网络命名空间。
--pid:进入容器的进程命名空间。

范例用法:
若仅仅想使用宿主机命令调试网络
nsenter --target <container_pid> --net -- /bin/sh

上一篇下一篇

猜你喜欢

热点阅读