題 如何在docker Windows容器中運行SysInternals ProcMon(或等效的)?


我正在嘗試診斷一個複雜的進程無法在我的Windows Core容器內運行的問題。我真的需要弄清楚它失敗的原因。如果這是一個虛擬機,我只需彈出procmon GUI並輕鬆診斷它正在尋找的文件但不在那裡,但在docker中,我該如何實現?


3
2018-01-30 11:10


起源




答案:


Process Monitor可以在沒有GUI的情況下運行到日誌文件。

使用參數 backingfile,也不要忘記第一次使用 包括 accepteula 參數。

您可以使用Docker參數 -v (-volume)共享主機文件夾, 您可以在哪裡存儲Process Monitor發布文件及其結果 日誌文件。


2
2018-01-30 11:58



我將你的答案標記為正確,因為我的問題是答案。但它似乎不適用於windows的docker。如果有人遇到這篇文章,請看 這裡。我還沒有找到問題的解決方案。 - Dudi Keleti
另一個 崗位 說它可能適用於使用Hyper-V隔離的容器。您也可以嘗試添加開關 /Quiet /Minimized。 - harrymc
我這樣做了: procmon.exe /AcceptEula /Quiet /Minimized /BackingFile c:\temp\log.pml - Dudi Keleti
我看到了有關Hyper-V的帖子。我不確定它是否使用Hyper-V,但我很確定它有一個單獨的內核。無論如何,謝謝你,如果你能找到我想知道的東西。 - Dudi Keleti
它應默認使用Hyper-V,除非您通過右鍵單擊docker圖標然後“切換到Windows容器”進行更改。你也可以問一下 sysinternals論壇。 - harrymc