如何使用 nsenter 实用程序从容器连接主机
How to connect host machine from container using nsenter utility
ubuntu 中有一个名为 nsenter 的实用程序。 nsenter 是一个允许进入命名空间的小工具。它将进入您的 docker 容器。我想从 docker 容器控制主机。如何使用 nsenter 实用程序从容器连接主机?
nsenter
允许您加入目标进程 ID (PID) 的 Linux 命名空间。
首先,运行 一个与 --pid=host
共享主机 PID 命名空间的容器。容器必须具有 --privileged
特权,否则执行 nsenter
将失败并出现“不允许操作”错误。容器通过执行 tail -f /dev/null
.
无限期地保持 运行ning
docker run --pid=host --privileged --name admin-container ubuntu:latest tail -f /dev/null
然后使用 nsenter
执行到容器中,进入主机第一个初始化进程 (PID = 1) 的文件系统、ipc、utc 和网络名称空间:
docker exec -it admin-container nsenter --target 1 --mount --uts --ipc --net /bin/bash
环顾四周,您会发现,您在主机上。
ubuntu 中有一个名为 nsenter 的实用程序。 nsenter 是一个允许进入命名空间的小工具。它将进入您的 docker 容器。我想从 docker 容器控制主机。如何使用 nsenter 实用程序从容器连接主机?
nsenter
允许您加入目标进程 ID (PID) 的 Linux 命名空间。
首先,运行 一个与 --pid=host
共享主机 PID 命名空间的容器。容器必须具有 --privileged
特权,否则执行 nsenter
将失败并出现“不允许操作”错误。容器通过执行 tail -f /dev/null
.
docker run --pid=host --privileged --name admin-container ubuntu:latest tail -f /dev/null
然后使用 nsenter
执行到容器中,进入主机第一个初始化进程 (PID = 1) 的文件系统、ipc、utc 和网络名称空间:
docker exec -it admin-container nsenter --target 1 --mount --uts --ipc --net /bin/bash
环顾四周,您会发现,您在主机上。