Day 37: VProfile Project on Docker


Today I containerized the VProfile Project, a Java-based multi-tier web application, using Docker. This practical step helped me solidify my understanding of containerized environments, inter-service communication, and microservice deployment workflows.
๐ฆ What is VProfile?
VProfile is a multi-tier application with the following services:
Frontend (Java Spring-based WebApp)
MySQL (Database)
Memcached (Caching)
RabbitMQ (Queueing)
Tomcat (Servlet container)
Nginx (Web proxy/load balancer)
๐ What I Did Today
โ Pulled & Built Docker Images:
- Used official and custom Docker images for each component.
โ
Created a docker-compose.yml
:
Defined all services, dependencies, ports, volumes.
Ensured proper networking and health checks.
โ Persistent Volumes & Environment Variables:
Added volume bindings for data persistence.
Managed credentials with
.env
and Docker secrets.
โ Tested Application Stack:
Accessed the app in browser via
localhost:8080
Verified communication between containers using
docker exec
& logs
๐ What I Learned
Multi-container orchestration using Docker Compose
Application-level dependencies and linking services
Internal DNS via Docker networks (
service_name
works like a hostname)Simplifying DevOps workflows using Docker
๐ Next Steps:
Introduction to Bash scripting
Subscribe to my newsletter
Read articles from Shaharyar Shakir directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
