Overview
The Images page provides comprehensive management of Docker images across all your environments. It includes image pulling from registries, vulnerability scanning, tagging operations, exporting, and pushing to remote registries.Key Features
Image Management
- Repository Grouping: Images grouped by repository name with expandable tag view
- Multi-Tag Support: View all tags for an image in a single interface
- Size Information: Total size per repository and per tag
- Usage Tracking: See which containers are using each image
- Created Dates: Timestamp for when each image was built
Image Operations
Pull from Registry:- Pull images from Docker Hub or custom registries
- Search Docker Hub directly from the pull modal
- Support for private registries with authentication
- Optional vulnerability scan after pull
- Push images to configured registries (excluding Docker Hub)
- Automatic image tagging before push
- Progress tracking during push operation
- Registry credential management
- Add new tags to existing images
- Tag format:
repository:tag - Multiple tags per image
- Remove unused tags
- Delete unused images (with confirmation)
- Force removal of images in use
- Bulk removal of multiple images
- Prune dangling images (untagged intermediate layers)
- Prune all unused images
Vulnerability Scanning
Scanner Integration:- Support for Trivy and Grype scanners
- Per-environment scanner configuration
- Scan images on-demand or after pull
- Vulnerability database auto-update
- Severity breakdown (Critical, High, Medium, Low)
- CVE identifiers and descriptions
- Package information (name, version)
- Fix availability status
- CVSS scores
- Reference links for more information
Export and Import
Export Images:- Export as TAR or TAR.GZ format
- Configurable compression in settings
- Download directly to browser
- Preserves all layers and metadata
- Quick container creation from image
- Pre-filled image name
- Opens create container modal
- All container configuration options available
Filtering and Search
- Text Search: Search by repository name, tag, or image ID
- Usage Filter: Show all, in-use, or unused images
- Sortable Columns: Sort by name, size, tags, created date
- Persistent Filters: Filter state saved across sessions
UI Features
Repository View:- Grouped by repository name
- Tag count badge
- Unused badge for images not in use
- Quick actions for first tag when collapsed
- Expand to see all tags with details
- Individual tag name
- Short image ID (click to copy full ID)
- Image size
- Created timestamp
- Container usage count (clickable to see containers)
- Per-tag action buttons
How to Use
Pulling an Image
- Click the Pull button in the top-right corner
- Search for Image:
- Enter image name (e.g.,
nginx,postgres:15) - Or use search to find images on Docker Hub
- Enter image name (e.g.,
- Select Registry (if multiple configured):
- Docker Hub (default)
- Private registry from your configured list
- Options:
- Check “Scan for vulnerabilities” to run scan after pull
- Select scanner (if multiple available)
- Click Pull to download the image
- Progress bar shows download status
- Scan results appear if scanning is enabled
Tagging an Image
- Expand the repository to show all tags
- Click the Tag icon on the desired image
- Configure New Tag:
- Repository name (e.g.,
myregistry.com/myapp) - Tag name (e.g.,
v1.0.0,latest)
- Repository name (e.g.,
- Click Tag to create the new tag
- New tag appears in the repository group
Pushing to a Registry
- Click the Push icon on an image tag
- Select Target Registry:
- Choose from configured registries
- Docker Hub is excluded (use docker.com directly)
- Configure Tag (optional):
- Change repository name if needed
- Update tag name
- Click Push to upload
- Progress shows upload status
- Image is now available in the remote registry
Scanning for Vulnerabilities
- Click the Shield icon on an image tag
- Scanner runs in background
- Review Results:
- Summary cards show counts by severity
- Critical vulnerabilities highlighted in red
- High severity in orange
- Medium in yellow
- Low in blue
- Vulnerability Details:
- CVE identifier
- Affected package and version
- Severity score (CVSS)
- Fix available (yes/no)
- Description and references
- Export scan results as JSON
Running a Container from Image
- Click the Play icon on an image
- Create container modal opens
- Image name is pre-filled
- Configure container settings
- Click Create to run container
Exporting an Image
- Expand repository to show tags
- Click the Download icon on a tag
- Image exports in background
- Download starts automatically
- Format determined by global settings (TAR or TAR.GZ)
Removing Images
Single Image:- Expand repository to show tag
- Click Remove icon (only visible on unused images)
- Confirm deletion
- Image is removed from Docker
- Select images using checkboxes
- Click Delete in the selection bar
- Confirm bulk deletion
- All selected images are removed
- Prune: Removes dangling images (untagged intermediate layers)
- Prune Unused: Removes ALL images not used by any container (including tagged)
UI Walkthrough
Header Section
- Title: “Images” with count (filtered/total if search active)
- Search Bar: Filter by name, tag, or ID
- Usage Filter: Dropdown for all/in-use/unused
- Prune Button: Remove dangling images
- Prune Unused Button: Remove all unused images (with warning)
- Pull Button: Open image pull modal
- Refresh: Manually refresh image list
Selection Bar
Appears when images are selected:- Number of selected images
- Clear: Deselect all images
- Delete: Remove selected images (bulk operation)
Image Table (Repository View)
Columns:- Checkbox: Select for bulk operations
- Expand: Arrow to show/hide tags
- Image: Repository name with tag count
- Tags: Number of tags badge
- Size: Total size (or largest tag)
- Updated: Most recent creation date
- Actions: Quick actions for first tag (when collapsed)
- Unused: Amber badge when no containers use the image
- Some Unused: Gray badge when some tags are unused
- Built-in: Badge for Docker system images
Expanded Tag View
Tag Columns:- Tag: Tag name (“latest” in blue)
- ID: Short image ID (click to copy)
- Size: Individual tag size
- Created: Timestamp
- Used By: Container count (clickable link)
- Actions: Full action menu
- Layers: View image history and layers
- Play: Run container from image
- Shield: Scan for vulnerabilities
- Upload: Push to registry
- Download: Export image
- Tag: Add new tag
- Remove: Delete image (unused only)
Image History Modal
Shows layer-by-layer breakdown:- Layer ID
- Created timestamp
- Command that created the layer
- Layer size
- Comment (if any)
Vulnerability Scan Modal
Summary Section:- Total vulnerabilities count
- Critical, High, Medium, Low counts with color coding
- Scan timestamp
- Scanner version
- CVE ID (clickable for external info)
- Package name and version
- Severity badge
- CVSS score
- Fix available indicator
- Description
- References
- Export as JSON
- Export as CSV
- Copy to clipboard
Real Examples
Example: Multi-Tag Image
Example: Vulnerability Scan Results
Example: Private Registry Configuration
Database Schema
registries:- Registry name and URL
- Authentication credentials (encrypted)
- Default registry flag
- Created and updated timestamps
- Links images to containers with available updates
- Tracks current and new image tags
- Scanner type (trivy, grype, none)
- Scanner path and database location
- Auto-update schedule for vulnerability database
Technical Details
Image Grouping Algorithm
- Parse all image tags
- Extract repository name (everything before last
:) - Group images by repository
- Sort tags within group by creation date
- Calculate aggregate size (max of all tags)
Pull Operation
- Streams image pull progress
- Shows layer download status
- Supports image manifest inspection
- Handles multi-architecture images
Vulnerability Scanning
Trivy Scanner:- Uses local vulnerability database
- Scans OS packages and language libraries
- Checks for known CVEs
- Provides fix recommendations
- Alternative to Trivy
- Same vulnerability sources
- Different output format
API Endpoints
GET /api/images- List all imagesPOST /api/images/pull- Pull image from registryPOST /api/images/:id/tag- Tag an imagePOST /api/images/:id/push- Push to registryDELETE /api/images/:id- Remove imageGET /api/images/:id/history- Get image layersGET /api/images/:id/export- Export imagePOST /api/images/:name/scan- Scan for vulnerabilitiesPOST /api/prune/images- Prune dangling imagesGET /api/registries- List configured registries
