如何从Docker内部检查已安装的dockerhost文件系统/卷上的打开文件

时间:2020-10-07 15:05:54

标签: docker process lsof fuser

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

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

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

1 个答案:

答案 0 :(得分:0)

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