Plugin API
Docker maintains a plugin API to help the community write their plugins. This means that anyone can develop new plugins as long as they implement it in accordance with the plugin API. This approach makes Docker an open and extensible platform. The plugin API is a Remote Procedure Call (RPC)-style JSON API that works over HTTP. Docker Engine sends HTTP POST requests to the plugin and uses the responses to continue its operations.
Docker also provides an official open-source SDK for creating new plugins and helper packages to extend Docker Engine. The helper packages are boilerplate templates if you want to easily create and run new plugins. Currently, there are only helper packages in Go since Go is the main implementation language of Docker Engine itself. It is located at https://github.com/docker/go-plugins-helpers and provides helpers for every kind of plugin supported by Docker:
You can check each folder listed...