mirror of https://github.com/docker/cli.git
Plugins JSON spec.
Allow full configuration of external plugins via a JSON document. Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
parent
f7e2399648
commit
7cd538db6f
|
@ -26,18 +26,35 @@ containers is recommended.
|
||||||
Docker discovers plugins by looking for them in the plugin directory whenever a
|
Docker discovers plugins by looking for them in the plugin directory whenever a
|
||||||
user or container tries to use one by name.
|
user or container tries to use one by name.
|
||||||
|
|
||||||
There are two types of files which can be put in the plugin directory.
|
There are three types of files which can be put in the plugin directory.
|
||||||
|
|
||||||
* `.sock` files are UNIX domain sockets.
|
* `.sock` files are UNIX domain sockets.
|
||||||
* `.spec` files are text files containing a URL, such as `unix:///other.sock`.
|
* `.spec` files are text files containing a URL, such as `unix:///other.sock`.
|
||||||
|
* `.json` files are text files containing a full json specification for the plugin.
|
||||||
|
|
||||||
The name of the file (excluding the extension) determines the plugin name.
|
The name of the file (excluding the extension) determines the plugin name.
|
||||||
|
|
||||||
For example, the `flocker` plugin might create a UNIX socket at
|
For example, the `flocker` plugin might create a UNIX socket at
|
||||||
`/usr/share/docker/plugins/flocker.sock`.
|
`/usr/share/docker/plugins/flocker.sock`.
|
||||||
|
|
||||||
Plugins must be run locally on the same machine as the Docker daemon. UNIX
|
### JSON specification
|
||||||
domain sockets are strongly encouraged for security reasons.
|
|
||||||
|
This is the JSON format for a plugin:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"Name": "plugin-example",
|
||||||
|
"Addr": "https://example.com/docker/plugin",
|
||||||
|
"TLSConfig": {
|
||||||
|
"InsecureSkipVerify": false,
|
||||||
|
"CAFile": "/usr/shared/docker/certs/example-ca.pem",
|
||||||
|
"CertFile": "/usr/shared/docker/certs/example-cert.pem",
|
||||||
|
"KeyFile": "/usr/shared/docker/certs/example-key.pem",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The `TLSConfig` field is optional and TLS will only be verified if this configuration is present.
|
||||||
|
|
||||||
## Plugin lifecycle
|
## Plugin lifecycle
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue