![正在运行的 Docker 容器的文件资源管理器 GUI?](https://linux22.com/image/1551572/%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%20Docker%20%E5%AE%B9%E5%99%A8%E7%9A%84%E6%96%87%E4%BB%B6%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E5%99%A8%20GUI%EF%BC%9F.png)
我的主机上是否可以有一个 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