如何以编程方式检查docker机器是否存在?

wil*_*fer 13 bash docker docker-machine

我正在使用docker-machine管理我的云服务器.我正在编写一些bash脚本来自动执行某些任务.问题是:"如果已存在具有特定名称的docker机器,如何检入bash脚本?".我需要一些表达式,如果它存在则返回true,否则返回false.

谢谢

Adr*_*uat 14

如果正则表达式足够好,只需通过grep运行它.例如,如果你有一台名为foo的机器:

$ docker-machine ls -q | grep '^foo$'
Run Code Online (Sandbox Code Playgroud)

应该工作并返回0.插入符号匹配行的开头,空格避免部分匹配.如果它不匹配,您将获得非零返回码.


Luí*_*hin 9

您可以使用以下内容:

docker-machine status some-machine 2> /dev/null || echo "Machine does not exists"
Run Code Online (Sandbox Code Playgroud)


Yog*_*h_D 1

不是脚本专家,但我会执行“ docker-machine help”,如果此命令运行并且退出代码($?)为零,则 docker-machine 可执行文件可用且正在运行。如果返回码是 127(通常是 bash 因找不到命令而返回)或任何非零值,则可以假设 docker-machine 未安装或未正常运行。