Vitreus
A docker management tool for development. Featuring an easy to use web based interface.

Problem Statement
For a long time, docker desktop was not available for linux. Hence many linux users are used use docker CLI. However, sometimes CLI commands can be repeatitive and tiresome to type out. Docker desktop solves this problem, however, a competing project will be valuable as to research and learn even though I'm not trying to outperform docker desktop.
Project Description
As described in the problem statement, this project was developed with the intention of learning rather than replacing docker desktop with this. The project distributes itself as a docker image. A user can initialize a container with this image, mounting the UNIX docker socket as a volume. Therefore, can log into the web UI to do almost everything docker CLI allows to do.
Project is developed using Java with Spring Boot framework. Frontend is developed using React JS. This communicates with docker via the unix docker socket. Since this is more targeted for learning, it is not recommended to use this in production.
Challenges & Learning Experience
This project allowed me to learn how docker works under the hood. Through this I learnt applications can interact with docker via the docker socket. Also, in java, it is challenging to communicate with UNIX sockets. Through this project I figured out how to establish proper connections to UNIX sockets. I learnt that a docker container is nothing but a process, just as any other process in the system, however, isolated to its of filesystem and namespaces. Other than the process itself, there's nothing to point out and say as a "container."