Skip to content

yariv1025/mini-docker-based-system

Repository files navigation

Mini Docker Based System


Mini Docker Based System project contains 3 modules:

  1. Password module searches inside a mounted folder (theHarvester) containing multiple files and folders, and extract the password contained in one of them (we will search for the word password to find it).
  2. Analyze module analyzes the files as so:
    1. Looks for the number of files from each type (e.g. .py, .txt, etc...) in the mounted folder (theHarvester).
    2. Lists the top 10 files sorted by size.
  3. Controller module functions as a controller whose job is to execute the other modules and output the results (from both modules) to a JSON file.

All the containers runs in a docker compose environment.

Each container has its own network, generated by running the initialize_script.sh file and the communication between the modules is conducted through a message broker container (RabbitMQ), that knows all module's networks.

NOTE:

  • All the modules are in different networks.
  • The folders to analyze/search are available in the containers by volumes.

How to run the services:

  • Clone the project

  • By writing the command below in the terminal we:

    • create the networks for the modules.
    • create Rabbitmq volume for Rabbitmq service.
    • build the module's images:
     sh initialize_script.sh
    
  • Run docker compose using the command:

    docker compose up
    

Now the Compose environment is up, and the services run automatically. The output should appear in a JSON file inside the controller_module/output/ directory.

About

A mini docker based system containing 3 producer-consumer modules.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages