containerization-and-devops

Lab 3 – Docker Images, NGINX & Flask Application Deployment

Objective

The objective of this lab was to understand Docker images, container creation, image customization, and deployment of web applications using Docker.

This lab focused on:


Detailed Implementation Files

For complete step-by-step screenshots and commands, refer to:

🔹 NGINX & Image Customization (Part 1):
View Part 1 README

🔹 Flask Application Containerization (Part 2):
View Flask Container README


Part A – Working with Official NGINX Image

In this section, we explored how Docker Hub provides ready-to-use images.

What We Did

Learning Outcome


Part B – Custom NGINX Image (Ubuntu Based)

In this section, we created our own NGINX image using Ubuntu as the base image.

What We Did

Learning Outcome


Part C – Lightweight NGINX (Alpine Based)

To optimize image size, we built another image using Alpine Linux.

What We Did

Learning Outcome


Part D – Deploying Custom HTML using Bind Mount

This section demonstrated how Docker can serve local files.

What We Did

Learning Outcome


Part E – Containerizing a Flask Web Application

In this final section, we deployed a Python Flask web application using Docker.

What We Did

Learning Outcome


Overall Concepts Covered


Result

The lab successfully demonstrated:

All applications were successfully accessed through the browser using mapped ports.


Conclusion

Lab 3 provided practical exposure to real-world Docker usage.

We learned how Docker simplifies application deployment by packaging code, dependencies, and runtime into a portable container. This ensures consistency across development, testing, and production environments.

The lab strengthened understanding of container-based architecture, efficient image building, application deployment strategies, and environment consistency using Docker.


🔗 Navigation

Previous Home Next
← Lab 2 Main README Lab 4 →

All Labs