怎樣檢測(cè)docker是否正常運(yùn)行

docker中,可以利用“Docker ps”命令檢測(cè)docker是否正常運(yùn)行,該命令用于列出容器,返回結(jié)果有內(nèi)容表示正在運(yùn)行,返回結(jié)果無內(nèi)容表示未運(yùn)行,語法為“docker ps | grep myimagename”。

怎樣檢測(cè)docker是否正常運(yùn)行

本教程操作環(huán)境:linux7.3系統(tǒng)、docker-1.13.1版、Dell G3電腦。

怎樣檢測(cè)docker是否正常運(yùn)行

docker ps : 列出容器

語法

docker?ps?[OPTIONS]

OPTIONS說明:

  • -a :顯示所有的容器,包括未運(yùn)行的。

  • -f :根據(jù)條件過濾顯示的內(nèi)容。

  • –format :指定返回值的模板文件。

  • -l :顯示最近創(chuàng)建的容器。

  • -n :列出最近創(chuàng)建的n個(gè)容器。

  • –no-trunc :不截?cái)噍敵觥?/p>

  • -q :靜默模式,只顯示容器編號(hào)。

  • -s :顯示總的文件大小。

如何確定他們是否在跑步?我可以很容易地從終端使用docker ps,比如:

docker?ps?|?grep?myimagename

如果返回任何內(nèi)容,則圖像正在運(yùn)行。如果返回空字符串,則表示圖像未運(yùn)行。

但是,我不明白如何讓subprocess.Popen來處理這個(gè)問題-它需要一個(gè)參數(shù)列表所以類似于:

????p?=?subprocess.Popen(['docker',?'ps',?'|',?'grep',?'myimagename'],?stdout=subprocess.PIPE) ????print?p.stdout

無法工作,因?yàn)樗噲D獲取“docker ps”并使其成為“docker”和“ps”命令(docker不支持)。

似乎我也不能給它完整的命令,因?yàn)镻open試圖將整個(gè)第一個(gè)參數(shù)作為可執(zhí)行文件運(yùn)行,所以這失敗了:

????p?=?subprocess.Popen('docker?ps?|?grep?myimagename',?stdout=subprocess.PIPE) ????print?p.stdout

推薦學(xué)習(xí):《docker視頻教程

以上就是怎樣檢測(cè)

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊12 分享