Docker for Beginners: Containerizing a Full-Stack Application