#docker #registry #async #http-api


A pure-Rust asynchronous library for Docker Registry API

5 releases (breaking)

0.5.0 Oct 7, 2020
0.4.1-alpha.0 Jul 9, 2020
0.3.1 Dec 5, 2019
0.2.1 Nov 7, 2018
0.1.0 Jun 18, 2017

#67 in #http-api

Download history 3/week @ 2024-03-09 1/week @ 2024-03-16 34/week @ 2024-03-30 8/week @ 2024-04-06 2/week @ 2024-04-20 6/week @ 2024-04-27

57 downloads per month
Used in bandsocks-runtime


1.5K SLoC


Build Status LoC Documentation

A pure-Rust asynchronous library for Docker Registry API.

dkregistry provides support for asynchronous interaction with container registries conformant to the Docker Registry HTTP API V2 specification.

Configurable features

The following is a list of Cargo features that consumers can enable or disable:

  • reqwest-default-tls (enabled by default): provides TLS support via system-specific library (OpenSSL on Linux)
  • reqwest-rustls: provides TLS support via the rustls library


Integration tests

This library relies on the mockito framework for mocking.

Mock tests can be enabled via the test-mock feature:

cargo test --features test-mock

Interoperability tests

This library includes additional interoperability tests against some of the most common registries.

Those tests are not run by default as they require network access and registry credentials.

They are gated behind a dedicated "test-net" feature and can be run as:

cargo test --features test-net

Credentials for those registries must be provided via environmental flags.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~446K SLoC