Docker 17
机器 | Machine

docker-machine ls

docker-machine ls

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模板的有效占位符列在下面:

占位符描述
.Name机器名称
.Active 机器是否活动?
.ActiveHost机器是非主动主机吗?
.ActiveSwarm该机器是一个活跃的群主?
.DriverName司机的名字
.State 机器状态(正在运行,停止...)
.URL机器网址
.Swarm 机器群名称
.Error 机器错误
.DockerVersionDocker守护进程版本
.ResponseTime 主持人回应的时间

当使用--format选项,ls命令将按照模板声明的方式输出数据,或者在使用表指令时,也将包括列标题。

下面的示例使用没有标头的模板,并输出NameDriver所有正在运行的机器都用冒号分隔的条目:

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

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

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

machine, ls, subcommand