| 没 shell | distroless/scratch:不提供 sh;用 docker run --entrypoint 测不了 |
|---|---|
| 容器已停 | exec 只对运行中容器有效;先 start 或看日志 |
| nsenter 方案 | 宿主 docker inspect 取 PID:nsenter -t <PID> -m -u -i -n -p sh |
| 临时容器 | docker run --rm -it --network container:<目标> --pid container:<目标> nicolaka/netshoot |
| K8s 侧 | kubectl debug 注入临时容器(见 kubectl-debug 条目) |
nsenter 进入无 shell 容器空间
nsenter 进入无 shell 容器空间
PID=$(docker inspect -f '{{.State.Pid}}' myapp)
sudo nsenter -t $PID -m -u -i -n -p sh
docker run --rm -it --network container:myapp --pid container:myapp nicolaka/netshootnsenter 需要宿主 root:这是特权操作,生产环境要留操作记录并限制账号。