Skip to content

Visualize and manage your Docker networks.

License

Notifications You must be signed in to change notification settings

cnetboy/DockerNet

 
 

Repository files navigation

GitHub GitHub issues GitHub last commit GitHub Repo stars


TypeScript HTML5 CSS3 Sass Node.js React Git GitHub Terminal Docker NodeJS Express ES-Lint


Follow us on

DockerNet-LinkedIn


DockerNet

An easy-to-use, locally-hosted web app for developers and engineers to visualize and manage their Docker Networks in real-time.

This tool is best used before and/or during the development of a Docker Compose YML file.


Table of Contents


About

Description

DockerNet.io provides developers with the tools needed to visualize and manage a Docker Network. Developers will have the ability to view their networks in both a list view and graphical view. Developers are also able to create new networks, delete current networks, add containers to a network, and remove containers from a network.

DockerNet's interface allows users to easily and seamlessly navigate between networks. This feature proves most useful during the early development of a Docker Network configuration.

DockerNet is designed to be used by developers who are new to the "Docker-verse" and appreciate having a visual aid. It also benefits seasoned developers who are designing a Docker Compose configuration as well as a means of verifying if a Docker compose file is correctly configured and behaving as expected.

Features

  • Visualize Docker Networks
  • Add/Remove Containers to Docker Networks
  • Create/Delete Docker Networks

Tech Stack

  • ES Lint / Prettier - TypeScript Linting Library
  • SASS/CSS - Styling preprocessor
  • React (Router & Hooks) - Front-end Library
  • git/GitHub - Version control and Remote Repository Manager
  • Docker - Container manager
  • Bash - Command Line Interface
  • Node.JS - Package Manager
  • Jest - Testing Framework
  • TypeScript - Strongly typed Programming Language
  • Webpack - Static module bundler
  • Express - Server middleware
  • D3 - Data Visualization Library

Getting Started

Requirements

  1. Latest version of Docker
  2. [Node.js][nodejs] (version 12 or higher) and npm

Installation

  1. Clone Repo to local device - git clone https://github.com/oslabs-beta/DockerNet.git
  2. Navigate to the DockerNet directory in terminal of choice
  3. Install required packages on local device - npm install
  • Note: This may show warnings about deprecated packages and vulnerabilities, but the installation will complete successfully.
  1. In the root directory rename .env.example file to .env

Note:

  • Frontend and Server Ports are defaulted to 8081 and 3031, respectively
  • These can be updated in the .env file found in the root directory
  • For details on recent updates and fixes, see CHANGES.md

How to Use

  1. On your local device open Docker and ensure you have containers running
  2. Navigate to the DockerNet directory in terminal of chioce
  3. Start app using using the following command - npm start
  4. Wait for app to load in your default browser

Demo

Create Network

create-network

Delete Network

delete-network

Navigate to Network

navigate-to-network

Add container to Network

connect-container-to-network

Remove container from Network

remove-container-from-network

List view and Graph view

remove-container-from-network


Recent Changes

For a detailed log of recent updates, fixes, and modifications, please refer to CHANGES.md. This includes Docker API compatibility fixes, graph topology updates, and setup improvements.

Looking Ahead

Roadmap

Here's a list of features currently being considered by the development team:

  1. Updating Data Visualization to include more robust container and network information
  2. Updating Data Visualization to provide the same functionality as List Display
  3. Updating Main Display to include all Network/Container information in a single view
  4. Incorporating Docker Desktop features such as starting and stopping containers
  5. Dark Mode

Authors

Creators

Contributors

  • Will you be the first? See below for instructions on how to contribute

How to Contribute

We love working with other developers in the open-source community! Here's how to contribute:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add some NewFeature')
  4. Push to the Branch on your Fork (git push origin feature/NewFeature)
  5. Open a Pull Request from the Branch on your Fork to the master branch on the DockerNet.io Main Branch

Acknowledgements

  • Huge shoutout to OSLabs and CodeSmith for sponsoring the development of this product
  • Massive thank you to all the kind, considerate internet denizens who provided valuable feedback during the ideation period of this product
  • Gargantuan thank you to each and every individual who provided meaningful support (technical or non-technical) throughout the development of this product
  • Suporting Libraries:

License

Distributed under the MIT License. See LICENSE for more information.

About

Visualize and manage your Docker networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 80.3%
  • SCSS 13.7%
  • JavaScript 4.6%
  • HTML 1.4%