Skip to content

Commit 43861a0

Browse files
authored
Merge pull request #21254 from docker/published-update
publish updates from main
2 parents dddcd5b + 60bf7c8 commit 43861a0

File tree

12 files changed

+160
-5
lines changed

12 files changed

+160
-5
lines changed
52.6 KB
Loading
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: |
3+
Mastering Testcontainers Cloud by Docker: streamlining integration testing with containers
4+
linkTitle: Testcontainers Cloud by Docker
5+
summary: |
6+
Automate, scale, and optimize testing workflows with Testcontainers Cloud
7+
description: |
8+
Testcontainers Cloud by Docker streamlines integration testing by offloading container management to the cloud. It enables faster, consistent tests for containerized services like databases, improving performance and scalability in CI/CD pipelines without straining local or CI resources. Ideal for developers needing efficient, reliable testing environments.
9+
levels: [Beginner]
10+
products: [testcontainers]
11+
params:
12+
featured: true
13+
image: images/learning-paths/testcontainers-cloud-learning-path.png
14+
time: 12 minutes
15+
resource_links:
16+
- title: Testcontainers Guides
17+
url: https://testcontainers.com/guides
18+
- title: Testcontainers Best Practices
19+
url: https://www.docker.com/blog/testcontainers-best-practices/
20+
- title: Simple local development with Testcontainers Desktop
21+
url: https://testcontainers.com/guides/simple-local-development-with-testcontainers-desktop/
22+
- title: Streamlining Local Development with Dev Containers and Testcontainers Cloud
23+
url: https://www.docker.com/blog/streamlining-local-development-with-dev-containers-and-testcontainers-cloud/
24+
- title: Running Testcontainers Tests Using GitHub Actions and Testcontainers Cloud
25+
url: https://www.docker.com/blog/running-testcontainers-tests-using-github-actions/
26+
- title: Testcontainers Cloud on the Docker Blog
27+
url: https://www.docker.com/search/?_sf_s=testcontainers%20cloud
28+
---
29+
30+
Testcontainers Cloud is a cloud-based solution designed to streamline and enhance the process of running integration tests using Testcontainers. Testcontainers is the open source framework, which allows developers to easily spin up containerized dependencies such as databases, message brokers, and other services required for testing. By shifting the management of Testcontainers-based services to the cloud, Testcontainers Cloud optimizes performance, reduces resource constraints on local machines or CI servers, and ensures consistent test environments. This solution is particularly beneficial for teams working on complex, distributed systems, as it allows for scalable, isolated, and reliable testing without the typical overhead of managing containers locally.
31+
32+
## What you'll learn
33+
34+
- Understand the fundamentals of Docker Testcontainers Cloud and its role in integration testing.
35+
- Learn how to set up and configure Docker Testcontainers Cloud for automated testing in various environments.
36+
- Explore how Testcontainers Cloud integrates with CI/CD pipelines to streamline testing workflows.
37+
38+
39+
## Tools integration
40+
41+
Works well with Docker Desktop, GitHub Actions, Jenkins, Kubernetes, and other CI solutions
42+
43+
Docker Pro, Team, and Business subscriptions come with Testcontainers Cloud runtime minutes, and additional minutes are available via consumption pricing.
44+
45+
## Who’s this for?
46+
47+
- Teams that build cloud-native applications and are already using Testcontainers open source.
48+
- DevOps Teams that integrate automated container-based testing into CI/CD pipelines for continuous testing.
49+
- QA Teams that seek scalable and consistent test environments for comprehensive integration and end-to-end testing.
50+
- Developers who need reliable, containerized test environments for testing microservices and databases.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: Common challenges and questions
3+
description: Explore common challenges and questions related to Testcontainers Cloud by Docker.
4+
weight: 40
5+
---
6+
7+
<!-- vale Docker.HeadingLength = NO -->
8+
9+
### How is Testcontainers Cloud different from the open-source Testcontainers framework?
10+
11+
While the open-source Testcontainers is a library that provides a lightweight APIs for bootstrapping local development and test dependencies with real services wrapped in Docker containers, Testcontainers Cloud provides a cloud runtime for these containers. This reduces the resource strain on local environments and provides more scalability, especially in CI/CD workflows, that enables consistent Testcontainers experience across the organization.
12+
13+
### What types of containers can I run with Testcontainers Cloud?
14+
15+
Testcontainers Cloud supports any containers you would typically use with the Testcontainers framework, including databases (PostgreSQL, MySQL, MongoDB), message brokers (Kafka, RabbitMQ), and other services required for integration testing.
16+
17+
### Do I need to change my existing test code to use Testcontainers Cloud?
18+
19+
No, you don't need to change your existing test code. Testcontainers Cloud integrates seamlessly with the open-source Testcontainers framework. Once the cloud configuration is set up, it automatically manages the containers in the cloud without requiring code changes.
20+
21+
### How do I integrate Testcontainers Cloud into my project?
22+
23+
To integrate Testcontainers Cloud, you need to install the Testcontainers Desktop app and select run with Testcontainers Cloud option in the menu. In CI you’ll need to add a workflow step that downloads Testcontainers Cloud agent. No code changes are required beyond enabling Cloud runtime via the Testcontainers Desktop app locally or installing Testcontainers Cloud agent in CI.
24+
25+
### Can I use Testcontainers Cloud in a CI/CD pipeline?
26+
27+
Yes, Testcontainers Cloud is designed to work efficiently in CI/CD pipelines. It helps reduce build times and resource bottlenecks by offloading containers that you spin up with Testcontainers library to the cloud, making it a perfect fit for continuous testing environments.
28+
29+
### What are the benefits of using Testcontainers Cloud?
30+
31+
The key benefits include reduced resource usage on local machines and CI servers, scalability (run more containers without performance degradation), consistent testing environments, centralized monitoring, ease of CI configuration with removed security concerns of running Docker-in-Docker or a privileged daemon.
32+
33+
### Does Testcontainers Cloud support all programming languages?
34+
35+
Testcontainers Cloud supports any language that works with the open-source Testcontainers libraries, including Java, Python, Node.js, Go, and others. As long as your project uses Testcontainers, it can be offloaded to Testcontainers Cloud.
36+
37+
### How is container cleanup handled in Testcontainers Cloud?
38+
39+
While Testcontainers library automatically handles container lifecycle management, Testcontainers Cloud manages the allocated cloud worker lifetime. This means that containers are spun up, monitored, and cleaned up after tests are completed by Testcontainers library, and the worker where these containers have being running will be removed automatically after the ~35 min idle period by Testcontainers Cloud. This approach frees developers from manually managing containers and assosiated cloud resources.
40+
41+
### Is there a free tier or pricing model for Testcontainers Cloud?
42+
43+
Pricing details for Testcontainers Cloud can be found on the [pricing page](https://testcontainers.com/cloud/pricing/).
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Configuring Testcontainers Cloud in the CI Pipeline
3+
description: Use Testcontainers Cloud with GitHub Workflows to automate testing in a CI pipeline.
4+
weight: 30
5+
---
6+
7+
{{< youtube-embed "https://youtu.be/NlZY9aumKJU" >}}
8+
9+
This demo shows how Testcontainers Cloud can be seamlessly integrated into a
10+
Continuous Integration (CI) pipeline using GitHub Workflows, providing a
11+
powerful solution for running containerized integration tests without
12+
overloading local or CI runner resources. By leveraging GitHub Actions,
13+
developers can automate the process of spinning up and managing containers for
14+
testing in the cloud, ensuring faster and more reliable test execution. With
15+
just a few configuration steps, including setting up Testcontainers Cloud
16+
authentication and adding it to your workflow, you can offload container
17+
orchestration to the cloud. This approach improves the scalability of your
18+
pipeline, ensures consistency across tests, and simplifies resource management,
19+
making it an ideal solution for modern, containerized development workflows.
20+
21+
- Understand how to set up a GitHub Actions workflow to automate the build and testing of a project.
22+
- Learn how to configure Testcontainers Cloud within GitHub Actions to offload containerized testing to the cloud, improving efficiency and resource management.
23+
- Explore how Testcontainers Cloud integrates with GitHub workflows to run integration tests that require containerized services, such as databases and message brokers.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: Setting up Testcontainers Cloud by Docker
3+
description: Set up Testcontainers Cloud by Docker in a local development environment.
4+
weight: 20
5+
---
6+
7+
{{< youtube-embed "https://youtu.be/7c3xLAG560U" >}}
8+
9+
This demo shows the process of setting up Testcontainers Cloud by Docker to
10+
work in your local development environment using the Testcontainers Desktop
11+
application. By the end of this walkthrough, you'll have Testcontainers Cloud
12+
by Docker up and running, ready to offload container management from your local
13+
machine to the cloud for more efficient testing.
14+
15+
- Install and configure Testcontainers Cloud and the CLI to seamlessly integrate with your local development environment.
16+
- Set up and configure the Testcontainers Desktop application to monitor and manage cloud-based containers during local tests.
17+
- Create and run integration tests using Testcontainers that leverage cloud-based container resources.
18+
- Monitor and manage containers efficiently, understanding how Testcontainers Cloud automates cleanup and ensures consistent testing environments.
19+
- Review options for monitoring and troubleshooting in the Testcontainers Cloud Dashboard.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Why Testcontainers Cloud?
3+
description: Learn how Testcontainers Cloud by Docker can help you optimize integration testing.
4+
weight: 10
5+
---
6+
7+
{{< youtube-embed "https://youtu.be/6dRRlk5Vd0E" >}}
8+
9+
Testcontainers Cloud is a powerful cloud-based solution designed to optimize integration testing with Testcontainers by offloading container management to the cloud. It helps developers and teams overcome the limitations of traditional local and CI-based testing, ensuring consistent environments, faster test execution, and scalable workflows. Whether you're new to Testcontainers or looking to enhance your existing setup, Testcontainers Cloud offers a seamless way to manage containerized tests, improving efficiency and reliability in your development pipeline.
10+
11+
Testcontainers Cloud provides several benefits:
12+
13+
- **Offloading to the Cloud:** Frees up local resources by shifting container management to the cloud, keeping your laptop responsive.
14+
- **Consistent Testing Environments:** Ensures that tests run in isolated, reliable environments, reducing inconsistencies across platforms from Dev to CI.
15+
- **Scalability:** Allows running large numbers of containers simultaneously without being limited by local or CI resources.
16+
- **Faster CI/CD Pipelines:** Reduces configuration bottlenecks and speeds up build times by offloading containers to multiple on-demand cloud workers with the Turbo-mode feature.
17+
18+
Testcontainers Cloud streamlines integration testing by offloading container management to the cloud, ensuring consistent environments and faster test execution resulting in reduced resource strain, making it an essential tool for improving the stability of your Testcontainers-based workflows.

content/manuals/desktop/allow-list.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ This page contains the domain URLs that you need to add to a firewall allowlist
1313
|---------|-------------|
1414
|https://api.segment.io| Analytics |
1515
|https://cdn.segment.com| Analytics |
16+
|https://experiments.docker.com| A/B testing |
1617
|https://notify.bugsnag.com| Error reports |
1718
|https://sessions.bugsnag.com| Error reports |
1819
|https://auth.docker.io| Authentication |

content/manuals/desktop/backup-and-restore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ weight: 130
88
Use the following procedure to save and restore your images and container data. This is useful if you want to reset your VM disk or to move your Docker environment to a new
99
computer, for example.
1010

11-
> Should I back up my containers?
11+
> [!IMPORTANT]
1212
>
1313
> If you use volumes or bind-mounts to store your container data, backing up your containers may not be needed, but make sure to remember the options that were used when creating the container or use a [Docker Compose file](/reference/compose-file/_index.md) if you want to re-create your containers with the same configuration after re-installation.
1414

content/manuals/desktop/release-notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Take a look at the [Docker Public Roadmap](https://github.com/orgs/docker/projec
6868
- Fixed a bug that prevented the Sign in enforcement popup to be triggered when token expires.
6969
- Fixed a bug where containers would not be displayed in the GUI immediately after signing in when using [enforced sign-in](/manuals/security/for-admins/enforce-sign-in/_index.md).
7070
- `settings.json` has been renamed to `settings-store.json`
71+
- The host networking feature no longer requires users to be signed-in in order to use it.
7172

7273
#### For Mac
7374

content/manuals/desktop/synchronized-file-sharing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ File shares take a few seconds to initialize as files are copied into the Docker
4747

4848
When the status indicator displays **Watching for filesystem changes**, your files are available to the VM through all the standard bind mount mechanisms, whether that's `-v` in the command line or specified in your `compose.yml` file.
4949

50-
>**Note**
50+
> [!NOTE]
5151
>
5252
> When you create a new service, setting the [bind mount option consistency](/reference/cli/docker/service/create.md#options-for-bind-mounts) to `:consistent` bypasses Synchronized file shares.
5353

0 commit comments

Comments
 (0)