Skip to content

tasosger/project_bitbybit

Repository files navigation

Docker Application By Bit By Bit

  1. To compile the code:
      In the root directory use the:
      "mvn clean compile assembly:single" command\
  2. To run the code in the root directory run:
      "java -jar Docker_App_bitbybit-1.0-SNAPSHOT-jar-with-dependencies.jar"\
  3. Instructions
      -Make sure you have the Docker Desktop running and exposed on localhost:2375
      -To Execute container commands go to the containers tab
      -Select "All" "Running" "Paused" depending on which containers you want to view
      -Select a container from the list
      -Select the action you want to perform
      -Certain actions will require for milliseconds to be defined. Enter the milliseconds you want the container task to be executed for
      -If you do not want to specify the milliseconds enter -1
      -You can view container measurements by pressing the measurements button
      -You can query the database on a specific date, a specific container, or on both
      -If you do not wish to specify a field leave it empty
      -To create a container press the create container button and insert container name and image name
      -To use the command execution select the container press the EXECUTE COMMAND option, enter the command (eg ls) and press execute
      -To Execute image actions go to the images tab
      -Here you can view a list of the pulled images
      -By clicking on an image you can remove it or see information about it
      -Press the pull image button to pull an image and enter the name of the image you want to pull
      -To view Subnets or Volumes click the respective tabs\
  4. Directory contents:  -Here are the pom.xml, checkstyle.xml files and the readme file
     -In the src/main folder:
     -In the java folder are the source and test codes
     -In the resource folder is the db file(if created)
     -In the target folder:
     -Here is the jar file for the app
  5. UML Alt Text
  6. Algorithms:   This app uses an Executor Thread to execute container actions and a Monitor Thread to monitor container Statistics.
      Executor Thread:
     -Here an interface with the name "Container Tasks" is used to handle the different types of container tasks.
     -A List is used to execute the tasks for each container one by one.
     -A class called Thread pairs is used to connect each container with the respective thread.
     Monitor Thread
     -A map and an Array List are used to store the metrics in the database one by one.
     -A "ContainerMetrics" Class is used to handle the container metrics
     -A class called Thread pairs is used to connect each container with the respective thread.
      The main application communicates with the Threads from a REST API, implemented in the DockerController Class

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages