feat: add testcontainers-oss quickstart guides (#22120)

- **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>
This commit is contained in:
Manuel de la Peña 2025-03-03 13:38:12 +01:00 committed by GitHub
parent 1278c5b4c8
commit 231f97ccad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 97 additions and 0 deletions

View File

@ -55,6 +55,7 @@ Intune
JFrog
Jamf
JetBrains
JUnit
Kerberos
Kitematic
Kubeadm
@ -80,6 +81,7 @@ Paketo
Postgres
PowerShell
Python
Ryuk
S3
SQLite
Slack

View File

@ -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.

View File

@ -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 >}}

View File

@ -0,0 +1,6 @@
<svg width="88" height="100" viewBox="0 0 88 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M87.2959 26.4538C87.2993 26.3987 87.3011 26.3435 87.3011 26.2879C87.301 26.1345 87.2868 25.9829 87.2598 25.8347C87.1322 25.0932 86.673 24.4402 86.0078 24.0561C85.9331 24.013 85.8567 23.974 85.7788 23.9391L44.9503 0.342044C44.1617 -0.11371 43.1898 -0.114053 42.4007 0.340819L1.29698 24.0477C0.508064 24.5028 0.021796 25.3442 0.0213552 26.2551L1.33343e-07 73.7055C-0.000293743 74.6165 0.485191 75.4583 1.27376 75.9142L42.3563 99.6579C42.744 99.882 43.1841 100 43.6319 100H43.6851C44.1331 100 44.5732 99.882 44.9609 99.6579L86.0433 75.9142C86.8319 75.4583 87.3175 74.6165 87.317 73.7055L87.2959 26.4538Z" fill="#361E5B"/>
<path d="M43.6584 5.47933L5.10434 27.7418V72.2582L43.6584 94.5205L82.2128 72.2582V27.7418L43.6584 5.47933Z" fill="#16D6C7"/>
<path d="M82.2127 27.7417V72.2581L43.6585 94.5206V50.0042L82.2127 27.7417Z" fill="#027F9E"/>
<path d="M82.2127 27.7417L43.6585 50.0042L5.1044 27.7417L43.6585 5.47933L82.2127 27.7417Z" fill="#17A6B2"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="2 2 30 30" width="30" height="30">
<g fill="#00ACD7" fill-rule="evenodd">
<path
d="M3.35 13.5c-.06 0-.07-.04-.05-.08l.3-.4c.04-.03.11-.06.17-.06h5.17c.06 0 .07.04.05.08l-.25.38c-.03.04-.1.09-.15.09l-5.24-.02zm-2.19 1.33c-.06 0-.07-.03-.04-.08l.3-.39c.03-.04.1-.07.16-.07h6.6c.07 0 .1.04.08.09l-.12.34c-.01.06-.07.1-.13.1H1.16zm3.51 1.33c-.06 0-.08-.04-.05-.09l.2-.36c.04-.04.1-.09.15-.09h2.9c.06 0 .09.05.09.1l-.03.35c0 .06-.06.1-.1.1l-3.16-.01zm15.04-2.93l-2.43.64c-.22.06-.24.07-.42-.15-.22-.24-.38-.4-.69-.55a2.52 2.52 0 00-2.62.22 3.08 3.08 0 00-1.48 2.75 2.27 2.27 0 001.96 2.28c.98.13 1.81-.22 2.46-.96l.4-.53h-2.8c-.3 0-.38-.2-.28-.44.19-.45.54-1.2.74-1.58a.4.4 0 01.36-.23h5.28c-.03.4-.03.78-.09 1.18-.16 1.04-.55 2-1.19 2.84a6.04 6.04 0 01-4.13 2.46 5.13 5.13 0 01-3.9-.96A4.55 4.55 0 019.04 17c-.18-1.58.28-3 1.24-4.25a6.43 6.43 0 014.05-2.5 5 5 0 013.84.7c.77.5 1.32 1.2 1.69 2.05.08.13.02.2-.15.24z">
</path>
<path
d="M24.5 21.25a5.44 5.44 0 01-3.53-1.28 4.55 4.55 0 01-1.56-2.8 5.53 5.53 0 011.17-4.37 6.08 6.08 0 014.06-2.42 5.38 5.38 0 014.13.74 4.51 4.51 0 012.04 3.23 5.6 5.6 0 01-1.67 4.91 6.64 6.64 0 01-3.47 1.86c-.4.07-.79.08-1.16.13zm3.46-5.86c-.02-.19-.02-.33-.05-.48A2.39 2.39 0 0024.96 13a3.17 3.17 0 00-2.54 2.52 2.39 2.39 0 001.33 2.74c.8.34 1.6.3 2.37-.1a3.17 3.17 0 001.84-2.76z"
fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" width="30" height="30">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #ba001f;
}
</style>
</defs>
<path d="M27.12,24.71c-.23-.15-.82-.21-.82-.21,0,0,0-.44-.1-.85-.1-.41-.49-.69-.49-.69,0,0,.13-.28,.21-.67,.08-.39-.03-.8-.03-.8,0,0,.46-.51,.69-.77,.23-.26,.59-.64,.72-.93,.13-.28-.08-.49-.39-.87-.31-.39-.93-.9-1.36-1.29-.44-.39-1.96-1.54-1.96-1.54,0,0-.08-.1-.31-.46-.23-.36-.31-.26-.75-.62-.16-.14-.35-.24-.51-.31-.38-1.15-.86-2.44-1.46-3.86-1.32-3.1-1.69-3.89-2.73-5.99-1.04-2.11-2.13-3.82-2.41-4.28-.28-.46-.5-.9-.84-.18,0,0-3,5.7-4.48,9.32-.79,1.93-1.61,3.99-2.29,5.84-.12,.09-.27,.2-.41,.32-.46,.39-.51,.54-1.21,.93-.69,.39-1.52,.8-2.19,1.29-.67,.49-1.16,.85-1.26,.98-.1,.13-.21,.23-.05,.64,.15,.41,.1,.33,.39,.85,.28,.51,.87,1.31,.87,1.31,0,0-.1,.05-.08,.44,.03,.39,.13,.57,.31,.64,.18,.08,.03,.28-.05,.69-.08,.41-.03,.72-.03,.72,0,0-.51,0-.85,.1-.33,.1-.59,.1-.57,.44,.03,.33,.03,.46,.49,.75,.46,.28,.33,.31,.8,.39,.46,.08,.93,.28,1.26-.03,0,0,0,0,.01-.01-.05,.44-.07,.81-.06,1.07,.07,1.07,.07,1.25,.56,1.99,.29,.44,.74,.68,1.4,.71,.8,.04,2-.66,2.82-1.1,.87-.47,1.83-1.26,3.19-1.41,1.46-.16,2.21-.25,3.43,.12s1.88,.6,2.51,1.04c.71,.5,.74,.66,1.24,1.04,.59,.46,.93,.53,1.55,.56,.62,.02,1.11-.14,1.5-.76,.39-.62,.67-1.61,.78-2.46,.01-.1,.02-.23,.03-.38,.12,.07,.29,.16,.48,.24,.36,.15,.46,.21,.8,.05,.33-.15,.39-.31,.77-.59,.39-.28,.8-.64,1-.87,.21-.23,.08-.36-.15-.51Zm-21.12-2.83c-.11-.15-.28-.36-.39-.44-.18-.13-.51-.31-.62-.23-.1,.08-.33,.18-.33,.18,0,0-.87-1.36-1.03-1.65-.15-.28-.31-.26-.1-.44,.21-.18,.46-.49,.93-.82,.46-.33,1.03-.69,1.36-.9,.32-.2,.69-.4,.72-.41,.02,.04,.05,.12,.13,.28,.1,.22,.2,.45,.28,.63-.19,.6-.34,1.14-.46,1.62-.15,.64-.33,1.4-.49,2.19Zm19.22-.8c-.13,.03-.51,0-.8,.21-.28,.21-.21,.46-.21,.46h-.36c-.02-.1-.04-.21-.07-.31-.42-1.9-.35-1.55-.76-3.29,0,0,0,0,0-.01,.13-.22,.27-.52,.4-.86,.19-.53,.18-.56,.18-.57,0,0,.8,.52,1,.72,.21,.21,1.16,1.18,1.29,1.36,.13,.18,.44,.69,.44,.87s-.28,.33-.57,.67c-.28,.33-.41,.72-.54,.75Z"/>
<path class="cls-1" d="M22.92,21.62c-.31-1.41-.35-1.56-.52-2.29l-.24-.98c-.39-1.61-.85-3.15-1.48-4.84-.14-.01-.26-.02-.38-.03,0,.06,0,.12,0,.19,0,2.48-2.27,4.49-5.05,4.49s-4.94-1.92-5.05-4.31c-.53,.07-.84,.12-.84,.12-.91,2.34-1.66,4.46-2.01,5.92-.78,3.3-1.27,5.98-1.27,6.96,0,.05,0,.1,0,.14v.06q.07,.97,.42,1.5c.09,.14,.24,.3,.7,.32,.48,.02,1.56-.56,2.14-.88l.22-.12c.18-.1,.38-.22,.59-.34,.75-.46,1.68-1.03,2.92-1.17,1.49-.17,2.39-.26,3.78,.15,1.16,.35,1.98,.62,2.76,1.16,.48,.33,.7,.54,.89,.73,.12,.11,.22,.21,.38,.34,.43,.33,.58,.35,1.04,.37,.39,.01,.54-.06,.72-.35,.29-.46,.55-1.3,.66-2.1,.02-.14,.03-.37,.03-.68,0-1.05-.11-2.93-.43-4.36Z"/>
<path class="cls-2" d="M15.25,10.16c-2.25,0-4.07,1.58-4.07,3.51s1.83,3.51,4.07,3.51,4.07-1.58,4.07-3.51-1.83-3.51-4.07-3.51Z"/>
<path class="cls-1" d="M14.48,11.55c.18,.43-.18,.99-.8,1.25-.62,.26-1.27,.12-1.45-.31-.18-.43,.18-.99,.8-1.25,.62-.26,1.27-.12,1.45,.31Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB