The Docker SDKs allow you to build applications that can control and manage the Docker Engine. They are interfaces for the Docker Engine API, but also contain a number of tools to make it easier to work with the API.
There are official libraries available in Python and Go, and there are a number of community supported libraries for other languages.
The Docker SDK for Python is available on the Python Package Index (PyPI), and can be installed with PIP:
$ pip install docker
To see how to start using it, head to the getting started guide.
For a full reference, see the Docker SDK for Python documentation.
The Docker SDK for Go is a package inside the Docker Engine repository. To use it, you import it:
To see how to start using it, head to the getting started guide.
A full reference is available on GoDoc.
There a number of community supported libraries available for other languages. They have not been tested by the Docker maintainers for compatibility, so if you run into any issues, file them with the library maintainers.
Language | Library |
---|---|
C | libdocker |
C# | Docker.DotNet |
C++ | lasote/docker_client |
Dart | bwu_docker |
Erlang | erldocker |
Gradle | gradle-docker-plugin |
Groovy | docker-client |
Haskell | docker-hs |
HTML (Web Components) | docker-elements |
Java | docker-client |
Java | docker-java |
NodeJS | dockerode |
Perl | Eixo::Docker |
PHP | Docker-PHP |
Ruby | docker-api |
Rust | docker-rust |
Rust | shiplist |
Scala | tugboat |
Scala | reactive-docker |