nsenter命令调试容器网络

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容