Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker DevOps


Linux 使用 nsenter 进入 Docker 容器排查问题

Linux Docker 大约 684 字

安装 nsenter

make&make build方式,源码下载:

https://mirrors.edge.kernel.org/pub/linux/utils/util-linux

yum安装

yum install util-linux -y

查看容器 PID

docker inspect --format "{{ .State.Pid}}"  <container id>

进入容器命令

nsenter --target $PID --mount --uts --ipc --net --pid

参数说明

--mount:进入到mount namespace--uts:进入到uts namespace--ipc:进入到System V IPC namaspace--net:进入到network namespace--pid:进入到pid namespace--user:进入到user namespace

-m 参数

加 m 参数

nsenter -t 容器PID -m -u -i -n -p

不加 m 参数

nsenter -t 容器PID -u -i -n -p

区别

-m:容器里没有ping等命令

不加-m:容器里有一些基础命令

原因

-m是进入mount namespace的,这个名称空间是用来文件系统名称空间,所以当我们不加-m的时候,使用的是宿主机的文件系统,可以使用宿主机内的命令对容器进行问题的排查。

参考

https://www.jianshu.com/p/3af03bd3af2e

阅读 322 · 发布于 2022-06-20

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批