在docker中,可以利用“Docker ps”命令檢測docker是否正常運行,該命令用于列出容器,返回結果有內容表示正在運行,返回結果無內容表示未運行,語法為“docker ps | grep myimagename”。
本教程操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
怎樣檢測docker是否正常運行
docker ps : 列出容器
語法
docker?ps?[OPTIONS]
OPTIONS說明:
-
-a :顯示所有的容器,包括未運行的。
-
-f :根據條件過濾顯示的內容。
-
–format :指定返回值的模板文件。
-
-l :顯示最近創建的容器。
-
-n :列出最近創建的n個容器。
-
–no-trunc :不截斷輸出。
-
-q :靜默模式,只顯示容器編號。
-
-s :顯示總的文件大小。
如何確定他們是否在跑步?我可以很容易地從終端使用docker ps,比如:
docker?ps?|?grep?myimagename
如果返回任何內容,則圖像正在運行。如果返回空字符串,則表示圖像未運行。
但是,我不明白如何讓subprocess.Popen來處理這個問題-它需要一個參數列表所以類似于:
????p?=?subprocess.Popen(['docker',?'ps',?'|',?'grep',?'myimagename'],?stdout=subprocess.PIPE) ????print?p.stdout
無法工作,因為它試圖獲取“docker ps”并使其成為“docker”和“ps”命令(docker不支持)。
似乎我也不能給它完整的命令,因為Popen試圖將整個第一個參數作為可執行文件運行,所以這失敗了:
????p?=?subprocess.Popen('docker?ps?|?grep?myimagename',?stdout=subprocess.PIPE) ????print?p.stdout
推薦學習:《docker視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦