testcontainers-go is a Docker integration testing library for Go designed to provision and manage disposable containerized infrastructure. It functions as a container lifecycle manager and ephemeral infrastructure provisioner, allowing developers to programmatically create, start, and destroy containers as dependencies for automated integration tests.
The main features of testcontainers/testcontainers-go are: Programmatic Container Managers, Container-Based Provisioning, Container Lifecycle Management, Container Startup Dependency Management, Docker Container Orchestrators, Container Port Mappings, Container Networking Configurations, Container Port Mapping.
Open-source alternatives to testcontainers/testcontainers-go include: testcontainers/testcontainers-dotnet — Testcontainers for .NET is a Docker testing library and integration testing framework designed to manage the lifecycle… ory/dockertest — dockertest is a Docker integration testing library and programmatic Go client used to boot and manage ephemeral… testcontainers/testcontainers-java — Testcontainers for Java is a library for launching and managing disposable Docker containers to provide isolated… docker-archive-public/docker.kitematic — Kitematic is a graphical user interface for managing and running Docker containers on desktop operating systems. It… yeasy/docker_practice — This project is a Docker educational resource and a collection of practical examples designed for learning… docker-library/official-images — This project is a collection of curated and standardized Docker base images that serve as reliable starting points for…
Testcontainers for .NET is a Docker testing library and integration testing framework designed to manage the lifecycle of throwaway containers. It provides high-level abstractions as a Docker API wrapper to provision ephemeral infrastructure, replacing mocks with real database, messaging, and search engine instances to ensure isolated and reproducible test environments. The project distinguishes itself through a builder-configuration-container pattern and a dynamic port binding mechanism that prevents collisions during concurrent test execution. It enables reliable service-to-service communic
dockertest is a Docker integration testing library and programmatic Go client used to boot and manage ephemeral containers. It functions as a containerized test orchestrator that provides isolated environments for integration tests by managing the lifecycle of dependent services. The library handles ephemeral environment orchestration by provisioning temporary containers and networks. It ensures environment consistency through service readiness checks and automated resource cleanup to prevent leaks after test execution completes. The project covers containerized service validation, including
Testcontainers for Java is a library for launching and managing disposable Docker containers to provide isolated dependencies for automated tests. It provides specialized provisioners for containerized databases, a manager for WebDriver browser containers, and an orchestrator for deploying multi-container applications via Docker Compose. The project ensures reproducible data states through database schema initialization and provides integration with JUnit to manage the lifecycle of external services. It supports automated browser testing by launching Selenium containers with the ability to re
Kitematic is a graphical user interface for managing and running Docker containers on desktop operating systems. It serves as a visual Docker management tool and API client that translates user interface interactions into REST API calls to control the Docker daemon without requiring the command line. The application is built as a cross-platform Electron desktop application, utilizing a Chromium-based shell to provide a consistent administrative interface across Mac and Windows. The software covers the full container lifecycle, including the creation, configuration, and monitoring of containe