在已經登錄到容器所使用的命令 -如何記錄在Docker容器內運行的所有進程?
docker exec -it <container_name>
如何檢查集裝箱內的所有處理運行? 「ps aux」是否是正確的方法?有沒有更好的替代方法?
由於
在已經登錄到容器所使用的命令 -如何記錄在Docker容器內運行的所有進程?
docker exec -it <container_name>
如何檢查集裝箱內的所有處理運行? 「ps aux」是否是正確的方法?有沒有更好的替代方法?
由於
它可以顯示通過使用下面的命令一個容器中運行,而不登錄終端的所有進程。當然,它就像使用ps -eaf
可以看到的一樣,所以只需將其添加到docker exec
即可。
bash $ sudo docker exec -it test1 ps -eaf
PID USER TIME COMMAND
1 root 0:00 sh
7 root 0:00 sh
60 root 0:00 /bin/sh
67 root 0:00 /bin/sh
84 root 0:00 ps -eaf
就像有人提到,如果你已經是一個容器內,那麼就使用ps -eaf
命令來查看正在運行的進程。
順便說一下,建議每個容器都有一個用戶應用程序/進程。
感謝,對於具有每個容器一個應用程序的過程。所以,我有一個只調用一個java jar文件的python應用程序,所以有一個python進程和一個java進程會執行一段時間。我應該在不同的容器上運行它們還是會運行不同的容器? –
我提到的是推薦的方法。一旦指定的過程結束,容器自動停止用戶需要明確停止容器,只爲長期存在的進程/容器。所以,不要過度殺人。如果可能,您可以選擇在兩個容器中運行您的過程。順便說一句,如果這個答案對你有幫助,那麼考慮接受它。 – Rao
您可以使用專用命令top在docker容器中列出進程,而不管容器中的操作系統如何。
docker top <container>
你的指揮把這個月底:慶典那麼一旦裏面,是PS工程....也可以嘗試PS eafww查看寬輸出 –