在 ubuntu 中有一个叫做nsenter的实用程序。nsenter 是一个允许进入命名空间的小工具。它将进入您的 docker 容器。我想从 docker 容器控制主机。如何使用 nsenter 实用程序从容器连接主机?
问问题
227 次
1 回答
1
nsenter
允许您加入目标进程 ID (PID) 的 Linux 命名空间。
首先,运行一个容器,将您的主机 PID 命名空间与--pid=host
. 容器必须具有特权--privileged
,否则执行nsenter
将失败并出现“不允许操作”错误。容器通过执行来无限期地运行tail -f /dev/null
。
docker run --pid=host --privileged --name admin-container ubuntu:latest tail -f /dev/null
然后使用 exec 进入容器nsenter
,输入主机的第一个 init 进程 (PID = 1) 的文件系统、ipc、utc 和网络命名空间:
docker exec -it admin-container nsenter --target 1 --mount --uts --ipc --net /bin/bash
环顾四周,您会注意到,您在主机上。
于 2021-11-09T08:38:20.600 回答