在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影片教學》
以上是怎麼檢測docker是否正常運作的詳細內容。更多資訊請關注PHP中文網其他相關文章!