An interactive lab that teaches Docker Compose fundamentals by building a multi-container Python Flask and Redis application from scratch. Learners progress from a bare compose.yaml through health checks, live development with watch mode, data persistence with volumes, and multi-file Compose configurations.
This Labspace will teach you the following:
- Define a multi-service app in a
compose.yamlfile - Control startup order with health checks and
depends_on - Iterate on code quickly using watch mode
- Persist data across container restarts with named volumes
- Compose multi-file configurations with the
includedirective - Use core debugging commands (
config,logs,exec)
To launch the Labspace, run the following command:
docker compose -f oci://dockersamples/labspace-compose-quickstart up -dAnd then open your browser to http://localhost:3030.
If you have the Labspace extension installed (docker extension install dockersamples/labspace-extension if not), you can also click this link to launch the Labspace.
If you find something wrong or something that needs to be updated, feel free to submit a PR. If you want to make a larger change, feel free to fork the repo into your own repository.
Important note: If you fork it, you will need to update the GHA workflow to point to your own Hub repo.
-
Clone this repo
-
Start the Labspace in content development mode:
# On Mac/Linux CONTENT_PATH=$PWD docker compose up --watch # On Windows with PowerShell $Env:CONTENT_PATH = (Get-Location).Path; docker compose up --watch
-
Open the Labspace at http://dockerlabs.xyz.
-
Make the necessary changes and validate they appear as you expect in the Labspace
Be sure to check out the docs for additional information and guidelines.