|
| 1 | +--- |
| 2 | +title: Testcontainers OSS |
| 3 | +description: Learn how to use Testcontainers OSS to run containers programmatically in your preferred programming language. |
| 4 | +keywords: docker APIs, docker, testcontainers documentation, testcontainers, testcontainers oss, testcontainers oss documentation, |
| 5 | + docker compose, docker-compose, java, golang, go |
| 6 | +params: |
| 7 | + sidebar: |
| 8 | + group: Open source |
| 9 | +intro: |
| 10 | +- title: What is Testcontainers? |
| 11 | + description: Learn about what Testcontainers does and its key benefits |
| 12 | + icon: feature_search |
| 13 | + link: https://testcontainers.com/getting-started/#what-is-testcontainers |
| 14 | +- title: The Testcontainers workflow |
| 15 | + description: Understand the Testcontainers workflow |
| 16 | + icon: explore |
| 17 | + link: https://testcontainers.com/getting-started/#testcontainers-workflow |
| 18 | +quickstart: |
| 19 | +- title: Testcontainers for Go |
| 20 | + description: A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. |
| 21 | + icon: /assets/icons/go.svg |
| 22 | + link: https://golang.testcontainers.org/quickstart/ |
| 23 | +- title: Testcontainers for Java |
| 24 | + description: A Java library that supports JUnit tests, providing lightweight, throwaway instances of anything that can run in a Docker container. |
| 25 | + icon: /assets/icons/java.svg |
| 26 | + link: https://java.testcontainers.org/ |
| 27 | +--- |
| 28 | + |
| 29 | +Testcontainers is set libraries that provides easy and lightweight APIs for bootstrapping local development and test dependencies with real services wrapped in Docker containers. |
| 30 | +Using Testcontainers, you can write tests that depend on the same services you use in production without mocks or in-memory services. |
| 31 | + |
| 32 | +{{< grid items=intro >}} |
| 33 | + |
| 34 | +## Quickstart |
| 35 | + |
| 36 | +### Supported languages |
| 37 | + |
| 38 | +Testcontainers provide support for the most popular languages, and Docker sponsors the development of the following Testcontainers implementations: |
| 39 | + |
| 40 | +- [Go](https://golang.testcontainers.org/quickstart/) |
| 41 | +- [Java](https://java.testcontainers.org/quickstart/) |
| 42 | + |
| 43 | +The rest are community-driven and maintained by independent contributors. |
| 44 | + |
| 45 | +### Prerequisites |
| 46 | + |
| 47 | +Testcontainers requires a Docker-API compatible container runtime. |
| 48 | +During development, Testcontainers is actively tested against recent versions of Docker on Linux, as well as against Docker Desktop on Mac and Windows. |
| 49 | +These Docker environments are automatically detected and used by Testcontainers without any additional configuration being necessary. |
| 50 | + |
| 51 | +It is possible to configure Testcontainers to work for other Docker setups, such as a remote Docker host or Docker alternatives. |
| 52 | +However, these are not actively tested in the main development workflow, so not all Testcontainers features might be available |
| 53 | +and additional manual configuration might be necessary. |
| 54 | + |
| 55 | +If you have further questions about configuration details for your setup or whether it supports running Testcontainers-based tests, |
| 56 | + contact the Testcontainers team and other users from the Testcontainers community on [Slack](https://slack.testcontainers.org/). |
| 57 | + |
| 58 | + {{< grid items=quickstart >}} |
0 commit comments