Skip to content

Commit

Permalink
feat: add testcontainers-oss quickstart guides (#22120)
Browse files Browse the repository at this point in the history
- **chore: add testcontainers entry in the OSS section of Manuals**
- **chore: adds quickstarts for tc-go and tc-java**

<!--Delete sections as needed -->

## Description
This PR adds the Testcontainers OSS section in the Manuals > OSS section
of the docs.

It's adding the following pages:

- index page with a basic description of the project, with two cards:
  - why use testcontainers, linking to a benefits page
  - quicktart, linking to a folder with two pages: Go and Java

Below the cards grid, it links to the testcontainers.com/getting-started
page.

The benefits page includes some of the content of the above
getting-started page, and the Go and Java quickstart pages are copying
the quickstart pages from Go
(https://golang.testcontainers.org/quickstart/) and Java
(https://java.testcontainers.org/quickstart/) in its 3 flavours (junit4,
junit5 and spock)

<!-- Tell us what you did and why -->

## Related issues or tickets

<!-- Related issues, pull requests, or Jira tickets -->

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [x] Technical review
- [ ] Editorial review
- [x] Product review

---------

Co-authored-by: aevesdocker <allie.sadler@docker.com>
  • Loading branch information
mdelapenya and aevesdocker authored Mar 3, 2025
1 parent 1278c5b commit 231f97c
Showing 6 changed files with 97 additions and 0 deletions.
2 changes: 2 additions & 0 deletions _vale/config/vocabularies/Docker/accept.txt
Original file line number Diff line number Diff line change
@@ -55,6 +55,7 @@ Intune
JFrog
Jamf
JetBrains
JUnit
Kerberos
Kitematic
Kubeadm
@@ -80,6 +81,7 @@ Paketo
Postgres
PowerShell
Python
Ryuk
S3
SQLite
Slack
4 changes: 4 additions & 0 deletions content/manuals/_index.md
Original file line number Diff line number Diff line change
@@ -26,6 +26,10 @@ params:
description: Define and run multi-container applications.
icon: /assets/icons/Compose.svg
link: /compose/
- title: Testcontainers OSS
description: Run containers programmatically in your preferred programming language.
icon: /assets/icons/Testcontainers.svg
link: /testcontainers/
products:
- title: Docker Desktop
description: Your command center for container development.
58 changes: 58 additions & 0 deletions content/manuals/testcontainers/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: Testcontainers OSS
description: Learn how to use Testcontainers OSS to run containers programmatically in your preferred programming language.
keywords: docker APIs, docker, testcontainers documentation, testcontainers, testcontainers oss, testcontainers oss documentation,
docker compose, docker-compose, java, golang, go
params:
sidebar:
group: Open source
intro:
- title: What is Testcontainers?
description: Learn about what Testcontainers does and its key benefits
icon: feature_search
link: https://testcontainers.com/getting-started/#what-is-testcontainers
- title: The Testcontainers workflow
description: Understand the Testcontainers workflow
icon: explore
link: https://testcontainers.com/getting-started/#testcontainers-workflow
quickstart:
- title: Testcontainers for Go
description: A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests.
icon: /assets/icons/go.svg
link: https://golang.testcontainers.org/quickstart/
- title: Testcontainers for Java
description: A Java library that supports JUnit tests, providing lightweight, throwaway instances of anything that can run in a Docker container.
icon: /assets/icons/java.svg
link: https://java.testcontainers.org/
---

Testcontainers is set 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:

- [Go](https://golang.testcontainers.org/quickstart/)
- [Java](https://java.testcontainers.org/quickstart/)

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](https://slack.testcontainers.org/).

{{< grid items=quickstart >}}
6 changes: 6 additions & 0 deletions static/assets/icons/Testcontainers.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions static/assets/icons/go.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions static/assets/icons/java.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 231f97c

Please sign in to comment.