Docketeer 3.0: An Innovative Tool to Manage Docker Containers
Docker is a framework which enables users to configure and deploy containers based on templates called images. Images then run within containers through a hypervisor, working as multiple virtualized operating systems, forming a stabilized environment for the application. Therefore, containers tend to provide a consistent environment by separating and deploying subsets of code working within an application, or the application itself. As a result, cloud services frequently employ docker containers for their lightweight nature and scalability.
Docketeer 2.0:
Docketeer is an open source GUI for Docker provided through Open Source Labs and functions as a monitoring platform for managing Docker images and container health.
Docketeer offers several features at the user’s disposal:
Under the metrics tab, Docketeer monitors container health with robust historical metrics such as CPU usage, memory usage, net I/O, and block I/O.
While, at the bottom of the navbar, the Docker-Compose tab provides a seamless user-interface for uploading docker-compose-yaml files to build multi-container applications.
From the settings page, the user customizes each container as well as connects containers to specified github repositories.
Within the images tab, the user is able to import images from DockerHub by providing the repository and repository version in the text field and clicking pull.
Docketeer also offers a system prune within the navbar to clear ‘dangling’ or unused containers. As a result, developers are better able to efficiently manage and allocate their resources.
Docketeer 3.0: Here and Now:
Throughout the current iteration of Docketeer, we’ve emphasized security, customizability, and reliability. Docketeer 2.0 was capable of monitoring containers that existed on the user’s local machine.
User Permissions:
Docketeer 2.0 was a standalone application. If someone wanted to monitor their running containers, they had to deploy Docketeer and containers on the same machine. In our latest version, we’ve emphasized dispersing notifications and updates around container health to a geographically disparate team of developers.
In Docketeer 3.0, we introduced user roles. The user setting up the Docketeer instance is given a system administrator role and then defines which users have access. The added roles create greater security measures for local developers and further prepares Docketeer for use with enterprise level endeavors. Through the enhanced notification system (outlined in the following section) combined with user roles, Docketeer 3.0 is well equipped for use on a greater scale.
Notifications & Monitoring:
Although Docketeer’s prior versions had a notification system that supported SMS messages, we have incorporated notifications via email. Previously, Docketeer 2.0 defaulted to notifying users once a container surpassed 80% of its allotted CPU or memory usage. In our updated version, Docketeer 3.0 allows the user to define their own processing and memory threshold.
What this means for developers using Docketeer, is that they are able to more thoroughly monitor the amount of processing power and memory storage allocated. In a group setting, this allows for multiple users to be notified with greater frequency for more sensitive use cases. A feature which encourages all users to adopt best practices in managing container health.
Increased Reliability:
In Docketeer 3.0 the status of the container is checked every five seconds, preparing and sending notifications when an issue occurs. These notifications can be received by any user via email or text. Additionally, we’ve implemented user-defined intervals for the sending of notifications, so although Docketeer 3.0 makes regular checks of threshold breaches, the team will be notified according to a user’s preference.
Furthermore, through the implementation of the observer design pattern, we equipped our notification system with greater efficiency and reliability. The observer design pattern describes a system centered around a notification provider and several registered subscribers. The provider listens for a state change then emits a notification distributed to each subscriber when a state change occurs. As the result of adhering to the observer design pattern, registered users are notified each time that there’s a breach.
The pinnacle of Docketeer 3.0 is a platform devised to provide users peace of mind about the health of their containers. Docketeer 3.0’s newest features have optimized the application for use in a business environment.. Users are invigorated, monitoring containers with greater breadth and dynamic user-defined modifications. The latest version of Docketeer distributes a platform for monitoring containers to scale with enterprise-level development.
Co-Authored by:
Catherine Larcheveque:
https://github.com/clarcheveque
https://www.linkedin.com/in/clarcheveque/
Lorenzo Guevara:
https://github.com/lo-guevara
https://www.linkedin.com/in/lorenzoguevara/
Charles Ryu:
https://github.com/charcharryu
https://www.linkedin.com/in/charcharryu/
Alex Smith:
https://github.com/ajsmith925
http://www.linkedin.com/in/ajsmith925