Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/microscaling/imagelayers-graph

A visualization tool to inspect and optimize Docker images used in your projects.
https://github.com/microscaling/imagelayers-graph

Last synced: 5 days ago
JSON representation

A visualization tool to inspect and optimize Docker images used in your projects.

Awesome Lists containing this project

README

        

# imagelayers-graph

[![](https://badge.imagelayers.io/microscaling/imagelayers-web.svg)](https://imagelayers.io/?images=microscaling/imagelayers-web:latest 'Get your own badge on imagelayers.io') [![](https://images.microbadger.com/badges/version/microscaling/imagelayers-web.svg)](http://microbadger.com/images/microscaling/imagelayers-web "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/commit/microscaling/imagelayers-web.svg)](http://microbadger.com/images/microscaling/imagelayers-web "Get your own commit badge on microbadger.com")

[ImageLayers.io](https://imagelayers.io) is a project maintained by [Microscaling Systems](https://microscaling.com) since September 2016. The project was developed by the team at [CenturyLink Labs](http://www.centurylinklabs.com/). This utility provides a browser-based visualization of user-specified Docker Images and their layers. This visualization provides key information on the composition of a Docker Image and any [commonalities between them](https://imagelayers.io/?images=java:latest,golang:latest,node:latest,python:latest,php:latest,ruby:latest). ImageLayers.io allows Docker users to easily discover best practices for image construction, and aid in determining which images are most appropriate for their specific use cases. Similar to ```docker images --tree```, the ImageLayers project aims to make visualizing your image cache easier, so that you may identify images that take up excessive space and create smarter base images for your Docker projects.

## Usage
You can access the hosted version of ImageLayers at [imagelayers.io](http://imagelayers.io). For local development, the imagelayers-graph project requires services provided by the [ImageLayers API](https://github.com/microscaling/imagelayers/). You can inspect images by simply providing a name, with which imagelayers will query and pull from the Docker Hub. The ImageLayers API must be available in order for imagelayers-graph to function.

## Building & Development
ImageLayers uses Grunt. To install Grunt, you must first have [npm installed on your machine](https://github.com/npm/npm). Install Grunt with `npm install -g grunt-cli`. Next, install dependencies using [Bower](http://bower.io/#install-bower) with `bower install`.

The last step is to install Compass. ImageLayers recommends using the latest version of Ruby.
`gem install compass`

Next, make sure the [imagelayers API](https://github.com/microscaling/imagelayers/) is running.
Run `grunt` for building the UI and `grunt serve` for preview. The ImageLayers UI will automatically open in a browser window.

### Building the Docker image

Use grunt to build the Angular app into the dist directory which is added to the Docker image. The build args are used to label the image.

```
$ grunt

$ docker build --tag microscaling/imagelayers-web:$(cat VERSION) \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VERSION=`cat VERSION` .
```

### Deploying in Kubernetes

Please see deployment/README.md

## Testing
Running `grunt test` will run the unit tests with karma.