⚙ Before You Start

Each lab is a Jupyter Notebook, run inside this project's published Docker lab image so every student runs the exact same isolated environment — no local Python/CLI setup, and no need to clone the source repository.

0
Pull the lab image (~500MB, one time only — grab a coffee):
docker pull arshaknorsoyan/gcp-data-engineer-lab:v1.0.1
1
Create a local user-labs folder, then start the container from it — run this in PowerShell or Git Bash, not Command Prompt (cmd.exe doesn't understand ${PWD} and will fail with a "invalid characters for a local volume name" error):
docker run -d --name gcp-lab -p 127.0.0.1:8888:8888 -p 127.0.0.1:8080:8080 -v ${PWD}/user-labs:/workspace -v gcloud-config:/root/.config/gcloud arshaknorsoyan/gcp-data-engineer-lab:v1.0.1
2
Get the Jupyter URL+token: docker logs gcp-lab (copy the http://127.0.0.1:8888/lab?token=... line)
3
Open that URL once in the same browser you're using for this site — this authorizes your browser for localhost:8888 for the rest of the session
4
Auth inside the container:
docker exec -it gcp-lab gcloud auth login --no-launch-browser
5
Click a lab card below, then "Download Notebook" — save it into your local user-labs folder. Notebook downloads require an active subscription; the 3 free-preview labs are fully readable in the browser without one
6
Click "Open in Jupyter Notebook" — it opens directly from user-labs
📥

Data Ingestion

Domain 1 5 labs

Data Processing

Domain 2 5 labs
🗄

Data Storage

Domain 3 5 labs
📊

Analytics

Domain 4 5 labs
🔧

Operations

Domain 5 5 labs
🔒

Security & Compliance

Domain 6 5 labs
🤖

Machine Learning

Domain 7 5 labs