Cargo Features

[dependencies]
testcontainers = { version = "0.26.3", default-features = false, features = ["ring", "aws-lc-rs", "ssl", "blocking", "watchdog", "http_wait", "http_wait_plain", "properties-config", "reusable-containers", "device-requests", "host-port-exposure", "docker-compose"] }
default = ring

The ring feature is set by default whenever testcontainers is added without default-features = false somewhere in the dependency tree.

ring default

Enables ssl of bollard ^0.19.4

bollard:

Enable rustls / ssl

aws-lc-rs

Enables aws-lc-rs of bollard ^0.19.4

ssl

Enables ssl_providerless of bollard ^0.19.4

blocking
watchdog = conquer-once, signal-hook
http_wait = http_wait_plain

Enables rustls-tls and rustls-tls-native-roots of reqwest ^0.12.5

http_wait_plain http_wait? = reqwest
properties-config = serde-java-properties
reusable-containers

Affects image_ext::ReuseDirective, image_ext::ImageExt.with_reuse

device-requests

Affects image_ext::ImageExt.with_device_requests

host-port-exposure

Enables ring of russh ^0.55.0

russh:

Alternative crypto backend.

Affects image_ext::ImageExt.with_exposed_host_port, image_ext::ImageExt.with_exposed_host_ports

docker-compose

Enables docker-compose-types and uuid

Affects testcontainers::compose

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

conquer-once watchdog?
reqwest http_wait? http_wait_plain?

Enables reqwest ^0.12.5

serde-java-properties properties-config?
signal-hook watchdog?

Enables signal-hook ^0.3