← All projects

04 / CLOUD & DEVOPS / CASE STUDY

Dockerized Application on EC2

From a web application to a repeatable Linux container deployment.

Documented deployment lab Inspect source on GitHub ↗
Architecture schematic: Web assets to Nginx image to EC2 / Ubuntu to Deploy script
Architecture schematic based on reviewed source. No live system data.

Architecture

Web assets → Nginx image → EC2 / Ubuntu → Deploy script

Problem & context

A restaurant application needed a consistent build/start workflow and a workable host/container port arrangement.

Objectives

Deploy the application to EC2, package it in Docker and automate the update sequence.

My role & project work

Containerized the Velvet Restaurant application with Nginx, deployed it on EC2 Ubuntu and used a Bash deployment script to rebuild and restart the container.

Technical implementation

The README describes EC2 setup, Docker/Nginx configuration, restart policy and operational log/resource checks. Repository screenshots show a successful nginx:alpine image build and a completed deploy.sh execution on the EC2 host.

Engineering decisions

Use a small static-web container and automate the build/stop/run sequence. Treat this as a single-host lab rather than claiming a rolling or zero-downtime release.

Challenges & solutions

A host Nginx process occupied port 80. The documented troubleshooting resolved the bind conflict; the deployment command also required the correct Docker build context.

Testing & verification

Reviewed README.md and selected EC2 build/deployment screenshots at revision 8ae9704329ede935e824b318f522506dae95a820. The successful script run is historical evidence; the Dockerfile and deploy.sh are visible in screenshots but are not standalone tracked source files in this repository.

Current status

Documented practical deployment. Current instance operation, HTTPS certificate state and uptime were not checked. No live IP is promoted as a current demo.

Lessons & next steps

Host services and container ports must be coordinated. Checking the build context, container logs and restart behavior gives a practical troubleshooting sequence.

Discuss this work → View resume