Share feedback
Answers are generated based on the documentation.

Lab: The Containerized SDLC

Build a real Node.js API, then apply containers at every stage of the software development lifecycle. You'll write a Compose file for local development, integration tests using Testcontainers, a CI/CD pipeline, and Kubernetes manifests — using the same container image throughout.

Launch the lab

  1. Start the labspace:

    $ docker compose -f oci://dockersamples/labspace-containerized-sdlc up -d
    
  2. Open your browser to http://dockerlabs.xyz.

What you'll learn

By the end of this Labspace, you will have completed the following:

  • Set up a containerized local development environment with Docker Compose and Compose Watch
  • Write integration tests that spin up a real database using Testcontainers
  • Build a CI/CD pipeline that tests, builds, and pushes a container image automatically
  • Write Kubernetes manifests and deploy a live application to a k3s cluster
  • Configure the pipeline to cause an automatic deployment on every push to main

Modules

#ModuleDescription
1Introduction: Meet the AppTour the TaskFlow API and understand the SDLC journey ahead
2Local Dev with Docker ComposeWrite a compose.yaml to provision a local database and visualizer
3Containerizing Your Dev EnvironmentAdd the app to Compose with hot-reloading via Compose Watch
4Integration Testing with TestcontainersWrite self-contained tests that start a real PostgreSQL container
5Continuous Integration with Gitea ActionsBuild a pipeline that tests, builds, and pushes a container image
6Deploying to KubernetesWrite manifests and deploy to a live k3s cluster with automated rollouts
7The Containerized SDLC: A RecapReview the portability, consistency, and reproducibility gains