inspect

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

マシンに関する情報を調査

説明:
   引数はマシン名。

オプション:
   --format, -f     go template で指定した出力に整形

デフォルトでは、マシンの情報を JSON 形式で表示します。フォーマットを指定すると、特定のテンプレートを使った結果を表示します。

Go 言語の text/template パッケージのページに、全てのフォーマットに関する情報の説明があります。

text/template 構文の他にも、 jsonprettyjson で JSON 形式の出力も可能です(ドキュメントは以下をご覧ください。)。

全マシンの詳細を表示:

こちらは inspect のデフォルトの使い方です。

$ docker-machine inspect dev
{
    "DriverName": "virtualbox",
    "Driver": {
        "MachineName": "docker-host-128be8d287b2028316c0ad5714b90bcfc11f998056f2f790f7c1f43f3d1e6eda",
        "SSHPort": 55834,
        "Memory": 1024,
        "DiskSize": 20000,
        "Boot2DockerURL": "",
        "IPAddress": "192.168.5.99"
    },
    ...
}

マシンの IP アドレスを取得:

JSON の出力結果全体から、適切なフィールドのみを適切に取得できます。

$ docker-machine inspect --format='{{.Driver.IPAddress}}' dev
192.168.5.99

フォーマットの詳細:

JSON 形式として情報のサブセットが欲しい場合は、テンプレートの中で json ファンクションが使えます。

$ docker-machine inspect --format='{{json .Driver}}' dev-fusion
{"Boot2DockerURL":"","CPUS":8,"CPUs":8,"CaCertPath":"/Users/hairyhenderson/.docker/machine/certs/ca.pem","DiskSize":20000,"IPAddress":"172.16.62.129","ISO":"/Users/hairyhenderson/.docker/machine/machines/dev-fusion/boot2docker-1.5.0-GH747.iso","MachineName":"dev-fusion","Memory":1024,"PrivateKeyPath":"/Users/hairyhenderson/.docker/machine/certs/ca-key.pem","SSHPort":22,"SSHUser":"docker","SwarmDiscovery":"","SwarmHost":"tcp://0.0.0.0:3376","SwarmMaster":false}

json 形式は使い易いのですが、人間にとって非常に読み辛いです。人が読む場合は prettyjson が使えます。

$ docker-machine inspect --format='{{prettyjson .Driver}}' dev-fusion
{
    "Boot2DockerURL": "",
    "CPUS": 8,
    "CPUs": 8,
    "CaCertPath": "/Users/hairyhenderson/.docker/machine/certs/ca.pem",
    "DiskSize": 20000,
    "IPAddress": "172.16.62.129",
    "ISO": "/Users/hairyhenderson/.docker/machine/machines/dev-fusion/boot2docker-1.5.0-GH747.iso",
    "MachineName": "dev-fusion",
    "Memory": 1024,
    "PrivateKeyPath": "/Users/hairyhenderson/.docker/machine/certs/ca-key.pem",
    "SSHPort": 22,
    "SSHUser": "docker",
    "SwarmDiscovery": "",
    "SwarmHost": "tcp://0.0.0.0:3376",
    "SwarmMaster": false
}