## Description Migrate 17 Testcontainers guides from testcontainers.com into the Docker docs site, covering Java (14 guides), .NET (2 guides), and Node.js (1 guide). This follows up on PR #24450 which added the initial Go and Python guides. Each guide is converted from AsciiDoc to Hugo Markdown, split into multi-chapter stepper navigation, updated to the latest Testcontainers API, and verified with passing tests running in containers. Java guides use testcontainers-java 2.0.4 with the new 2.x Maven coordinates and package names (e.g., `testcontainers-postgresql`, `org.testcontainers.postgresql.PostgreSQLContainer`). The Quarkus guide uses Quarkus 3.22.3 with TC 1.x managed by the Quarkus BOM, since no released Quarkus version ships TC 2.x yet. ## How to test All code snippets have been verified by running each guide's source repository tests inside Docker containers with the Docker socket mounted. To re-run the verification, use the `/testcontainers-guides-migrator` skill included in this PR (`.claude/skills/testcontainers-guides-migrator/SKILL.md`). The skill's Step 6 documents the exact container commands and macOS Docker Desktop workarounds (host override, docker-java API version, etc.) needed to run each language's tests: ``` /testcontainers-guides-migrator I want you to verify all the guides in this branch. Do a full review, verifying that all code snippets compile, the code is executable, and ALL the tests pass. Run them as docker containers, never locally. ``` ## Related issues or tickets Supersedes #24450 (expanded from 2 guides to all 19) ## Reviews - [ ] Technical review - [ ] Editorial review - [ ] Product review --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.9 KiB
title, weight, description, keywords, params, intro, quickstart
| title | weight | description | keywords | params | intro | quickstart | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Testcontainers | 40 | Learn how to use Testcontainers to run containers programmatically in your preferred programming language. | docker APIs, docker, testcontainers documentation, testcontainers, testcontainers oss, testcontainers oss documentation, docker compose, docker-compose, java, golang, go |
|
|
|
Testcontainers is a set of open source libraries that provides easy and lightweight APIs for bootstrapping local development and test dependencies with real services wrapped in Docker containers. Using Testcontainers, you can write tests that depend on the same services you use in production without mocks or in-memory services.
{{< grid items=intro >}}
Quickstart
Supported languages
Testcontainers provide support for the most popular languages, and Docker sponsors the development of the following Testcontainers implementations:
The rest are community-driven and maintained by independent contributors.
Prerequisites
Testcontainers requires a Docker-API compatible container runtime. During development, Testcontainers is actively tested against recent versions of Docker on Linux, as well as against Docker Desktop on Mac and Windows. These Docker environments are automatically detected and used by Testcontainers without any additional configuration being necessary.
It is possible to configure Testcontainers to work for other Docker setups, such as a remote Docker host or Docker alternatives. However, these are not actively tested in the main development workflow, so not all Testcontainers features might be available and additional manual configuration might be necessary.
If you have further questions about configuration details for your setup or whether it supports running Testcontainers-based tests, contact the Testcontainers team and other users from the Testcontainers community on Slack.
{{< grid items=quickstart >}}
Guides
Explore hands-on Testcontainers guides to learn how to use Testcontainers with different languages and popular frameworks:
- Getting started with Testcontainers for .NET
- Getting started with Testcontainers for Go
- Getting started with Testcontainers for Java
- Getting started with Testcontainers for Node.js
- Getting started with Testcontainers for Python
- Testing a Spring Boot REST API with Testcontainers
- Testcontainers container lifecycle management
- Replace H2 with a real database for testing
- Configuration of services running in a container
- Testing an ASP.NET Core web app
- Testing Spring Boot Kafka Listener
- Testing REST API integrations using MockServer
- Testing AWS service integrations using LocalStack
- Testing Quarkus applications with Testcontainers
- Working with jOOQ and Flyway using Testcontainers
- Testing REST API integrations using WireMock
- Securing Spring Boot with Keycloak and Testcontainers
- Testing Micronaut REST API with WireMock
- Testing Micronaut Kafka Listener