# Docker Desktop Extension
At Slim, we believe that knowing your software is a key building block to creating secure, small, production-ready containers and reducing software supply chain risk. One big challenge many of us face when attempting to work with, optimize, and secure container images, is that images often lack important documentation. Leaving us in a pinch when trying to figure out even basic details about whether or not an image is usable, well constructed, and secure.
This is where, we believe, the Slim Docker Desktop Extension can help.
Currently, the early access version of the Slim Docker Desktop extension is free to developers and includes the following capabilities:
# Available Free to All Developers without Authentication to the Slim Platform
- Easy to access deep analyses of your local container images by tag with quick access to information like the local arch, exposed ports, shells, volumes, and certs
- Security insights including whether the containers runs with a root user and a complete list of files that have special permissions
- Optimization opportunities including a counts of deleted and duplicate files
- Fully searchable File Explorer filterable by layer, instruction, and file type with the ability to view the contents of any text-based file
- The ability to compare any two local images or image tags with deep analyses and File Explorer capabilities
- Reverse engineered Dockerfiles for each image when the originals are not available
# Available with API Token Authentication to the Slim Platform (https://portal.slim.dev (opens new window))
- Search across multiple public and authenticated registries for quality images including support for Docker Hub, Github, DigitalOcean, ECR, MCR, GCR, with more coming soon.
- View deep analysis, insights, and File Explorer for images across available registries prior to pulling them down to your local machine
# How do I install the extension?
The Slim.AI Docker Extension is currently in early access and in active development, and can be installed by any Docker Desktop user with access to Docker Desktop Extensions and the Extensions CLI.
# Prerequisites: Docker Desktop v 4.8.0 or greater and Docker Extensions CLI.
- Make sure you’re running at least Docker Desktop v 4.8.0
- Download the most up to date version of the Docker Extensions CLI for your system (https://github.com/docker/extensions-sdk/releases (opens new window))
- Install the Docker Extensions CLI (https://github.com/docker/extensions-sdk/blob/main/docs/index.md#prerequisites (opens new window))
- Within Docker Desktop settings, navigate to Extensions, and uncheck the box next to “Allow only extensions distributed through the Docker Marketplace”
# Install the Slim.AI Docker Desktop Extension https://hub.docker.com/r/slimdotai/dd-ext (opens new window)
- Once you have an up to date version of the Docker Desktop and Extensions CLI
- From the command line run
docker extension install slimdotai/dd-ext:0.5.2
- Type ‘y’ when asked if you want to continue
- Once installation is complete, return to Docker Desktop and you should see the Slim.AI Extension in the left menu under Extensions.
# How do I use the Slim.AI Docker Desktop Extension?
- Once installed, click on the Slim.AI extension in the left nav of Docker Desktop
- The Slim.AI Docker Desktop Extension will list the images on your local machine
- You can use the search bar to find specific images by name
- Click the “Explore” button or carrot icon to view details about your images:
- The File Explorer is a complete searchable view into your image’s file system. You can filter by layer, file type, and whether or not it is an Addition, Modification, or Deletion in a given layer. You can also view the content of non-binary files by clicking on the file name then clicking File Contents in the new window.
- The Overview displays important metadata and insights about your image including the user, certs, exposed ports, volumes, environment variables, and more.
- The Docker File shows a reverse engineered Dockerfile we generate when the original Dockerfile may not be available
- Click the “Compare” button to compare two images or image tags.
- Select the tag via the dropdown under the image name. Then click the “Compare” button in its card.
- Select a second image or tag, and click “Compare” button in its card.
- You will be taken to a comparison view where you can explore the differences in the files, metadata, and reverse engineered Dockerfiles.
# How do I connect the Slim.AI Docker Desktop Extension to my Slim.AI Account?
- Once installed. Click on the Slim.AI extension in the left nav of Docker Desktop
- Inside of the Slim.AI Docker Desktop Extension, click on the “hamburger” menu in the top right corner. You should see the option to “Add a token”
- To get your API token, navigate to https://portal.slim.dev/settings (opens new window) and click the Tokens tab.
- Create a new API token, and copy it
- Navigate back to the Slim Docker Desktop Extension and paste it in and click Submit
- You should see a success message. Once successfully connected, you can use the search bar to search over all of your connected registries, and Explore remote images before pulling them down to your local machine.
# What if I don’t have a Slim.AI account?
- The Slim platform is currently free to use. You can create an account from the Docker Desktop Extension by clicking the Join Now button in the top right of the extension. You will be taken to a sign in page where you can authenticate using Github, Gitlab, or Bitbucket.
# What’s on the roadmap?
We have a number of features and refinements planned for the extension, but we need your feedback to help us improve. Please provide your feedback here (opens new window).
Planned capabilities include:
- The ability to compare local and remote images
- Improvements to the Overview to provide more useful insights
- Design and UX updates to make the experience even easier to use
- More capabilities that connect your local experience to the Slim Portal