An API client for docker written in Haskell

Version on this page:
LTS Haskell 20.26:
Stackage Nightly 2022-11-17:
Latest on Hackage:

See all snapshots docker appears in

BSD-3-Clause licensed by Deni Bertovic, James Parker
Maintained by Deni Bertovic
This version can be pinned in stack with:docker-,4044

An API client for docker written in Haskell


Current state

Supported Docker Engine Api version: v1.24 and onwards.

Anything upward of that should work since Docker versions their API. Older docker version and engine api versions are not supported at the moment.


The API-documentation is available at Hackage. There are also some usage-examples in the main library source file, Client.hs.


Please see

Project Setup

For working on the library, you need the Haskell Tool Stack installed (see the Haskell Tool Stack website). You also need make to use the Makefile included in the project. Run make help to see the available commands (for building, running the tests and releasing).


Tests are located in the tests directory and can be run with make test. This only runs the unit tests.

To run integration tests, you need Docker installed and listening on Port 2375 of localhost (docker only listens to a Unix socket by default, see the Docker documentation for details). Set the environment variable RUN_INTEGRATION_TESTS, i.e. RUN_INTEGRATION_TESTS=1 make test.


If you have any questions or suggestions you can find the maintainers in #docker-haskell on freenode.