我的主机上是否可以有一个 GUI 文件资源管理器(例如 winscp/windows 或 nautilus/linux)来显示正在运行的 docker 容器的文件系统?
主要对 Linux/Ubuntu 的 GUI 感兴趣
答案1
Docker 使用 cgroups 进行隔离。
您应该能够直接通过 浏览 docker 容器的文件系统procfs
。具体来说,如果您浏览/proc/<pid>/root/
,<pid>
容器内进程的 PID 在哪里。
来自Moby 问题追踪:
docker inspect --format {{.State.Pid}} $YOUR_CONTAINER
应该给你一个PID。
因此,从命令行,您可以cd
输入:
/proc/$(docker inspect --format {{.State.Pid}} $YOUR_CONTAINER)/root
然后,您应该能够从 GUI 文件浏览器浏览到同一目录。但是,您可能无法$()
直接使用该构造,因此您只能:
- 使用 CLI 启动指向该路径的 GUI 文件资源管理器
或者
- 使用 CLI 检索 PID,然后直接在 GUI 中浏览,例如
/proc/123/root