1

我的应用程序在其自己的 docker 容器中运行,需要检查位于已安装文件系统/卷上的文件是否仍由 linux dockerhost 上的另一个进程(不是此应用程序容器内的进程)打开。例如,我的应用程序应该只在 dockerhost 上的进程完成写入此文件后才开始处理输入文件。

如果我的应用程序直接在 dockerhost 上运行,“fuser”或“lsof”命令(以 root 身份运行/通过 sudo 运行)将提供所需的输出(例如,列出访问文件的进程 ID)。但是在 docker 容器中,fuser 命令(甚至以 root 身份运行)不显示任何进程。

任何在 unix 级别甚至更好的 python3 上的代码片段都会有所帮助!

4

1 回答 1

0

我个人的解决方法/解决方案是通过 ssh 从 docker 内部连接到 dockerhost,在 dockerhost 上远程运行 fuser 命令并检查 docker 中的输出...

于 2020-10-27T10:32:44.740 回答