Directory

All projects

Each entry documents the problem, the architecture I chose and what changed as a result. Source code and evidence are on GitHub.

Docker Projects

4 case studies
082026 / Completed

Multi-Container Application — Flask + Redis

A stateful Flask web app backed by a Redis key-value store, orchestrated with Compose

DockerDocker ComposeFlaskRedisPythonVolumes
Business value

For application teams building services that must scale or restart safely, this design removes fragile in-process state and hardcoded service addresses. Separating Flask and Redis preserved the demonstrated counter across requests and restarts, while service discovery reduced configuration effort when environments change.

Read case study →
092026 / Completed

AWS ECR — Private Container Registry Pipeline

Build local, push to a private AWS registry, pull and run the stack from the cloud

AWS ECRDockerAWS CLIIAMDocker ComposeMySQL
Business value

For delivery teams shipping proprietary containers to AWS, this workflow replaces local-only or public image distribution with private, IAM-governed storage. A verified 66.68 MB image became consistently pullable by the Compose stack and future AWS runtimes, reducing manual hand-offs and unauthorised distribution risk.

Read case study →
102026 / Completed

Full-Stack Containerization & Multi-Container Networking

From Dockerfile fundamentals to a decoupled multi-container Docker network

DockerDockerfileDocker Bridge NetworksGitSSHCLI
Business value

For development teams moving software between laptops, test environments and servers, this build removes dependency drift and brittle IP-based configuration. The isolated, repeatable runtime and name-based container networking reduce environment-specific failures and make each deployment easier to reproduce.

Read case study →
112026 / Completed

Docker Compose — Declarative Multi-Service Stack

One YAML file, one command: Flask + MySQL orchestrated end to end

Docker ComposeYAMLFlaskMySQLDocker NetworkingIaC
Business value

For small engineering teams, this setup replaces a sequence of manual network, database and application commands with one version-controlled definition. The demonstrated one-command launch orchestrates both services consistently, cutting setup steps and reducing manual configuration errors across machines.

Read case study →