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

我正在使用docker-machine来pipe理我的云服务器。 我正在写一些bash脚本来自动完成一些任务。 问题是:“如果具有特定名称的docker机器已经存在,如何检查bash脚本?”。 如果存在,我需要一些expression式来返回true,如果不存在则返回false。

谢谢

只要运行它通过grep,如果一个正则expression式对你来说足够好。 例如,如果您有一台名为foo的机器:

 $ docker-machine ls -q | grep '^foo$' 

应该工作并返回0.光标匹配行首和空格避免局部匹配。 如果不匹配,你会得到一个非零的返回码。

你可以使用像下面这样的东西:

 docker-machine status some-machine 2> /dev/null || echo "Machine does not exists" 

不是一个脚本大师,但我会做一个“ docker-machine help ”,如果这个命令运行,并退出代码($?)为零,docker机可执行文件可用和function。 如果返回码是127(通常这是由bash找不到的命令返回的)或非零的任何东西,你可以假设docker-machine没有安装,或者运行不正常。