ls

使い方: docker-machine ls [オプション] [引数...]

マシン一覧を表示

オプション:

   --quiet, -q                                  静かな (quite) モードを有効化
   --filter [--filter option --filter option]  指定した状況に応じてフィルタを出力
   --timeout, -t "10"                           タイムアウトを秒数で指定。デフォルトは 10 秒
   --format, -f                                 Go テンプレートに一致する内容で表示

タイムアウト

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.0

フィルタリング

フィルタリング・フラグ( --filter )の指定は key=value のペア形式です。複数のフィルタを使う場合は、複数のフラグを使います(例: --filter "foo=bar" --filter "bif=baz" )。

現時点でサポートしているフィルタは次の通りです。

  • driver(ドライバ名)
  • swarm(swarm のマスタ名)
  • state (状態: Running | Paused | Saved | Stopped | Stopping | Starting | Error
  • name(ドライバが返すマシン名であり、 Go 言語形式 の正規表現をサポート )
  • label(マシンを --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 マシンがアクティブな Swarm のホストではないか
.ActiveSwarm マシンがアクティブな Swarm マスタか
.DriverName ドライバ名
.State マシンの状態(実行中、停止中など)
.URL マシン URL
.Swarm マシンの Swarm 名
.Error マシンのエラー
.DockerVersion Docker デーモンのバージョン
.ResponseTime ホストの応答時間

ls コマンドで --format オプションを使うと、テンプレートから自分が必要なデータだけ出力できます。また table 命令を使うと、ヘッダ部分も調整可能です。

以下の例では NameDriver のエントリをヘッダ情報無しに表示します。

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

全てのマシン名とドライバを表形式(table format)で表示できます。

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