docker-machine ls

预计阅读时间:3分钟

Usage: docker-machine ls [OPTIONS] [arg...]

List machines

Options:

   --quiet, -q                                  Enable quiet mode
   --filter [--filter option --filter option]   Filter output based on conditions provided
   --timeout, -t "10"                           Timeout in seconds, default to 10s
   --format, -f                                 Pretty-print machines using a Go template

超时

ls命令尝试并行访问每个主机。如果给定的主机在不到10秒钟内没有应答,则该ls命令指出该主机处于 Timeout状态。在某些情况下(连接不良,高负载或在进行故障排除时),您可能需要增加或减少该值。为此,可以将-t标志用于以秒为单位的数值。

例子

$ docker-machine ls -t 12
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1

筛选

过滤标记(--filter)格式是一key=value对。如果有多个过滤器,则传递多个标志。例如: --filter "foo=bar" --filter "bif=baz"

当前支持的过滤器是:

  • 驱动程序(驱动程序名称)
  • 群(群主的名字)
  • 状态(Running|Paused|Saved|Stopped|Stopping|Starting|Error
  • 名称(驱动程序返回的机器名称,支持golang样式正则表达式)
  • 标签(使用--engine-label选项创建的机器,可以使用过滤label=<key>[=<value>]

例子

$ docker-machine ls
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
dev    -        virtualbox   Stopped
foo0   -        virtualbox   Running   tcp://192.168.99.105:2376           v1.9.1
foo1   -        virtualbox   Running   tcp://192.168.99.106:2376           v1.9.1
foo2   *        virtualbox   Running   tcp://192.168.99.107:2376           v1.9.1

$ docker-machine ls --filter name=foo0
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
foo0   -        virtualbox   Running   tcp://192.168.99.105:2376           v1.9.1

$ docker-machine ls --filter driver=virtualbox --filter state=Stopped
NAME   ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER   ERRORS
dev    -        virtualbox   Stopped                 v1.9.1

$ docker-machine ls --filter label=com.class.app=foo1 --filter label=com.class.app=foo2
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
foo1   -        virtualbox   Running   tcp://192.168.99.105:2376           v1.9.1
foo2   *        virtualbox   Running   tcp://192.168.99.107:2376           v1.9.1

格式设定

格式化选项(--format)使用Go模板漂亮地打印机器。

下面列出了Go模板的有效占位符:

占位符 描述
。名称 机器名称
。积极的 机器是否处于活动状态?
.ActiveHost 机器是否是活动的非群集主机?
.ActiveSwarm 机器是主动群主机吗?
.DriverName 司机姓名
。状态 机器状态(正在运行,已停止...)
.URL 机器网址
。一群 机群名称
。错误 机器错误
.Docker版本 Docker Daemon版本
。响应时间 主持人响应所花费的时间

当使用该--format选项时,该ls命令要么完全按照模板声明的方式输出数据,要么在使用table指令时也包括列标题。

以下示例使用不带标题的模板,NameDriver为所有正在运行的计算机输出用冒号分隔的和条目:

$ docker-machine ls --format "{{.Name}}: {{.DriverName}}"
default: virtualbox
ec2: amazonec2

要以表格式列出所有计算机名称及其驱动程序,可以使用:

$ docker-machine ls --format "table {{.Name}} {{.DriverName}}"
NAME     DRIVER
default  virtualbox
ec2      amazonec2
机器ls子命令