Code Monkey home page Code Monkey logo

amhub's Introduction

Join the chat at https://gitter.im/alex-agency/AMHub Build Status Code Climate

Application Manager Docker Hub 2.0

Containers View

Shows all docker containers.

1

Container Info

Shows container details. The HTTP Connect button opens new browser's tab and redirects to particular port of container.

2

Commit Container

Saves all container changes to new docker image.

3

Image Info

Shows image details.

4

Images View

Shows all docker images.

5

Create Container

Creates new docker container from image. It allows to bind particular volumes, ip or ports.

6

Remove Image

Removes image and all containers which were created from this image.

7

Browse Repos

Browses public Docker Hub repository and allows pulling images from Docker Hub.

8

Settings

Allows to choose between Advanced and Simple views, sets Global Filter for images and containers. And manages available virtual ip-addresses.

9

Demo

This project is containerized by docker and you can simply run it:

 docker pull alexagency/amhub
 docker run -d -p 80:8080 -p 2375:2375 -v /var/run/docker.sock:/var/run/docker.sock alexagency/amhub

and browsing to it:

 http://localhost/

In case if you using docker-machine, create new docker machine and use its ip-address.

 docker-machine create -d virtualbox dev
 docker-machine ip dev
 docker-machine ssh dev

You can run legacy AMHub 1.0 version executing next command:

docker run -d -p 80:80 -p 8000:8000 -v /var/run/docker.sock:/docker.sock alexagency/amhub:1.0

License

MIT

amhub's People

Contributors

alex-agency avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

amhub's Issues

[F.REQ] Added ability to configure Docker Network

Currently, all containers created inside docker subnet. They have their own ip address inside this subnet. These containers reachable from customer network throw docker host ip address. We can work with these containers with help of port mapping which is not always useful.

I'd be create to have ability to configure containers network.
The main reason to give for containers ip address from customer DHCP server for reaching containers throw customer network via ip address instead of port manipulations.

[F.REQ] Added ability to connect to different docker engines

Currently, application using docker unix socket for connection to docker daemon on the same docker host. It doesn't allow connection to different docker hosts and you can manage containers only inside same docker host.

The main reason to add ability to setup tcp socket, which allows connect to any docker engine and install this app wherever you want.

[F.REQ] Added ability to analyzes resource usage of running containers

Currently, application allows to see how many virtual hard drive space used by images only.
In case of you need to see HDD, RAM or CPU per each containers you need install Google CAdvisor and go to it, which is not always useful.

It would be great to see HDD, RAM and CPU in the AMHub for each running containers.
The easiest way to implement it is to use public Google CAdvisor REST API. The application could recognise if CAdvisor is installed in the docker and then use its api to show resource usage.

Images for README

Containers View

Shows all docker containers.

1

Container Info

Shows container details.
The HTTP Connect button opens new browser's tab and redirects to particular port of container.

2

Commit Container

Saves all container changes to new docker image.

3

Image Info

Shows image details.

4

Images View

Shows all docker images.

5

Create Container

Creates new docker container from image. It allows to bind particular volumes, ip or ports.

6

Remove Image

Removes image and all containers which were created from this image.

7

Browse Repos

Browses public Docker Hub repository and allows pulling images from Docker Hub.

8

Settings

Allows to choose between Advanced and Simple views, sets Global Filter for images and containers.
And manages available virtual ip-addresses.

9

[critical-issue] AMHub container never stop calling Docker Engine

There are two interval loops which update list of Docker Images and Containers which are never stop even if client not running. This makes huge impact on performance of whole Docker Machine.

line 46 of images.js

$scope.$on('$destroy', function () { 
     $interval.cancel(intervalPromise);
});

line 38 of containers.js

$scope.$on('$destroy', function () { 
    $interval.cancel(intervalPromise);
});

Reason: Angular scope on $destroy not working

[F.REQ] Added ability to configure container's resources

Currently application has hardcoded values, which allows containers use strict amount of CPU and RAM.
These values are: 1.5 GB RAM and 50% CPU. These thing makes limitation for cases when we need full of power from docker host.

It would be great to have ability to configure these values for each container.

[F.REQ] Added ability to manage set of containers, brings ConteinersSet

Currently, application allows create dozens containers per one click, but you can't delete or stopped as same easily as create it.

It would be create to have ContainersSet, which will be new entity for Docker.
The ContainersSet will allow manage all containers inside this set simultaneously and fast.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.