Virtual Expo 2025

Container Lens

Envision CompSoc

Meet Link - https://meet.google.com/arw-ajwc-pbp

Github Link - https://github.com/Prabhav-P2006/IEEE-Envision-Project

Introduction

Docker has revolutionized the way applications are deployed and managed by encapsulating them into lightweight, portable containers. While the Docker CLI is powerful, it poses a usability barrier for beginners and those unfamiliar with terminal commands. Furthermore, manual command execution increases the risk of human error, especially in production environments.

To address this issue, this project introduces a web application that enables visual and intuitive container management. The application abstracts the complexities of Docker commands and provides a streamlined interface for performing basic container operations. Users can log in securely, view the status of running and stopped containers, interact with them via clearly labeled action buttons and view logs of all the containers that are spun up.

Objectives

The key objectives of this project were:

  • To implement a secure user authentication system (login and registration).
  • To develop a dashboard that lists all Docker containers with their statuses.
  • To enable users to perform fundamental container operations:
    • Start
    • Stop
    • Pause
    • Resume
    • Delete
  • To enable searching for containers and displaying their key metadata in the interface
  • To enable access the logs of the containers through our web interface

System Architecture

Frontend & Backend

  • Framework: Django (Python-based full-stack web framework)
  • Template Engine: Django Templates for frontend rendering
  • Container Interaction: Python Docker SDK (docker-py)
  • Authentication: Django’s built-in user authentication system

Workflow

  • The user accesses a login-protected dashboard.
  • Upon authentication, the backend queries the local Docker engine via the SDK.
  • Container data (IDs, names, statuses) is fetched and rendered in the frontend.
  • Actions initiated by the user (e.g., "Start") are sent to the backend as HTTP requests.
  • The backend invokes the relevant Docker SDK methods to perform the operation.

Implementation

Login and Authentication

  • Users can create accounts and log in using Django’s secure authentication system.
  • Access to the dashboard and container controls is restricted to authenticated users.

Dashboard

  • The main dashboard displays a tabular view of all Docker containers.

Container Operations

  • The action buttons are tied to backend API views that invoke corresponding Docker SDK commands.
  • Each action triggers a server-side call to perform the operation and then updates the UI accordingly.
  • Users can click a “View Logs” button associated with each container to access that container's logs.

Search Functionality

  • A simple search bar filters containers based on name or ID.

Results

The MVP successfully fulfills all core requirements for basic Docker container management. Users can securely log in, view container statuses, and control container lifecycles through an intuitive web interface. The system is responsive, functional, and removes the dependency on CLI commands for daily container operations. While advanced features such as resource monitoring and multi-host support are out of scope for the MVP, they are considered as part of future work.

 

Conclusion

This project demonstrates that Docker container management can be made significantly more accessible through a web-based interface. The implementation leverages Django for backend and UI rendering and the Python Docker SDK for system-level container interaction. The successful completion of this MVP lays a solid foundation for further enhancements, such as real-time monitoring, and multi-host orchestration.

References

Project Mentors

  • Shanjiv A
  • Nishant A S

Project Mentees

  • Prabhav P
  • Antony Thaikadavil
  • Sadhana
  • Kratika

 

Report Information

Explore More Projects

View All 2025 Projects