clarify docker plugin set docs

Signed-off-by: Victor Vieux <victorvieux@gmail.com>
master
Victor Vieux 2017-03-24 16:44:37 -07:00 committed by Tibor Vass
parent e434a91221
commit 051ff3b303
1 changed files with 56 additions and 3 deletions

View File

@ -34,6 +34,60 @@ The settings currently supported are:
* path of devices
* args
## What is settable ?
Look at the plugin manifest, it's easy to see what fields are settable,
by looking at the `Settable` field.
Here is an extract of a plugin manifest:
```
{
"config": {
...
"args": {
"name": "myargs",
"settable": ["value"],
"value": ["foo", "bar"]
},
"env": [
{
"name": "DEBUG",
"settable": ["value"],
"value": "0"
},
{
"name": "LOGGING",
"value": "1"
}
],
"devices": [
{
"name": "mydevice",
"path": "/dev/foo",
"settable": ["path"]
}
],
"mounts": [
{
"destination": "/baz",
"name": "mymount",
"options": ["rbind"],
"settable": ["source"],
"source": "/foo",
"type": "bind"
}
],
...
}
}
```
In this example, we can see that the `value` of the `DEBUG` environment variable is settable,
the `source` of the `mymount` mount is also settable. Same for the `path` of `mydevice` and `value` of `myargs`.
On the contrary, the `LOGGING` environment variable doesn't have any settable field, which implies that user cannot tweak it.
## Examples
### Change an environment variable
@ -43,7 +97,6 @@ The following example change the env variable `DEBUG` on the
```bash
$ docker plugin inspect -f {{.Settings.Env}} tiborvass/sample-volume-plugin
[DEBUG=0]
$ docker plugin set tiborvass/sample-volume-plugin DEBUG=1
@ -90,13 +143,13 @@ $ docker plugin inspect -f '{{with $device := index .Settings.Devices 0}}{{$devi
### Change the source of the arguments
The following example change the source of the args on the `myplugin` plugin.
The following example change the value of the args on the `myplugin` plugin.
```bash
$ docker plugin inspect -f '{{.Settings.Args}}' myplugin
["foo", "bar"]
$ docker plugins set myplugin args="foo bar baz"
$ docker plugins set myplugin myargs="foo bar baz"
$ docker plugin inspect -f '{{.Settings.Args}}' myplugin
["foo", "bar", "baz"]