Skip to content
This repository has been archived by the owner on Aug 10, 2021. It is now read-only.

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

License

Notifications You must be signed in to change notification settings

microscaling/imagelayers-graph

Repository files navigation

imagelayers-graph

ImageLayers.io is a project maintained by Microscaling Systems since September 2016. The project was developed by the team at CenturyLink Labs. 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. 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. For local development, the imagelayers-graph project requires services provided by the ImageLayers API. 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. Install Grunt with npm install -g grunt-cli. Next, install dependencies using 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 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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published