Modules
Public API for TestcontainerEx.
Application callback for TestcontainerEx.
Provides functionality for creating and managing Cassandra container configurations.
Provides functionality for creating and managing Ceph container configurations.
Considers a container ready as soon as a command runs successfully inside it.
Subprocess wrapper for Docker Compose CLI interaction.
Represents the started state of a Docker Compose environment.
A lightweight struct representing a service within a Docker Compose environment.
Builds an Req client connected to the container engine.
Orchestrates host resolution strategies.
TLS/SSL option building for container engine connections.
Resolves the container engine host for Apple Container (https://github.com/apple/container).
Protocol for resolving the container engine host URL.
Resolves the container engine host by querying colima status.
Resolves the container engine host from Podman-style environment variables.
Resolves the container engine host from a .env file in the project root.
Resolves the container engine host from the CONTAINER_ENGINE_HOST
environment variable.
Resolves the container engine host by evaluating minikube docker-env.
Resolves the container engine host from .testcontainer_ex.properties.
Resolves the container engine host by scanning well-known Unix socket paths.
URL construction and TLS detection for container engine connections.
Library metadata constants.
Convenience module for container configuration.
Protocol for building container configurations from domain-specific container types (e.g. RedisContainer, PostgresContainer).
Applies common labels and reuse logic to container configurations.
Container configuration struct and builder functions.
Convenience functions for extracting runtime information from a started container.
Orchestrates container lifecycle: create, start, wait, pull, copy.
Convenience module for building container configurations.
A flexible, user-defined container specification with full lifecycle control.
A behaviour implemented by database containers used by TestcontainerEx.Ecto
Runtime debugging and inspection helpers for TestcontainerEx.
A struct with builder functions for creating a Docker Compose configuration.
Public alias for TestcontainerEx.Connection.Url.
Provides functionality for creating and managing Elixir/Erlang container configurations — useful for testing distributed Erlang, remote deployment, clustering, and running Elixir releases inside containers.
Provides functionality for creating and managing EMQX container configurations.
Detects which container engine is in use: Docker, Podman, minikube, or Apple Container.
Internal Docker API client. All functions require a Req connection.
Resolves Docker registry credentials from the user's Docker config file
(typically ~/.docker/config.json) and returns a ready-to-send
X-Registry-Auth header value.
Low-level container control operations via the Docker Engine API.
Query runtime status of container engines (Docker, Podman, Minikube, Colima) directly via their APIs or CLI.
Convenient macros to run containers within ExUnit tests.
Considers the container as ready when a http request is successful.
Provides functionality for creating and managing Kafka container configurations.
Structured logging convenience for TestcontainerEx.
Considers the container as ready as soon as a specific log message is detected in the container's log stream.
Provides functionality for creating and managing Minio container configurations.
Provides functionality for creating and managing Ministack container configurations.
Provides functionality for creating and managing Mongo container configurations.
Provides functionality for creating and managing MySQL container configurations.
Docker network operations.
Considers the container as ready when it successfully accepts connections on the specified port.
Provides functionality for creating and managing Postgres container configurations.
Pull policies that control whether an image is fetched from a remote registry before starting a container.
Provides functionality for creating and managing RabbitMQ container configurations.
Debugging helpers powered by :recon (Erlang runtime inspection).
Provides functionality for creating and managing Redis container configurations.
Manages the Ryuk reaper container for automatic cleanup of test containers.
Provides functionality for creating and managing ScyllaDB container configurations.
Work in progress. Not stable for use yet.
GenServer that manages the TestcontainerEx lifecycle.
Telemetry integration for TestcontainerEx.
Provides functionality for creating and managing Toxiproxy container configurations.
Library metadata constants.
Convenience aliases for all wait strategies.
Defines the protocol/interface for the wait strategies in TestcontainerEx
Mix Tasks
Usage: mix testcontainer_ex.run [sub_task] [--database DB] [--db-volume VOLUME] [sub_task_args...]
Runs Docker-dependent tests with automatic Ryuk setup and teardown.