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.
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
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.
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
grunt test will run the unit tests with karma.