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指令时也包括列标题。
以下示例使用不带标题的模板,Name
并Driver
为所有正在运行的计算机输出用冒号分隔的和条目:
$ docker-machine ls --format "{{.Name}}: {{.DriverName}}"
default: virtualbox
ec2: amazonec2
要以表格式列出所有计算机名称及其驱动程序,可以使用:
$ docker-machine ls --format "table {{.Name}} {{.DriverName}}"
NAME DRIVER
default virtualbox
ec2 amazonec2
机器,ls,子命令