Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Finsys/dockhand/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Containers page is the central hub for managing all your Docker containers across environments. It provides real-time visibility into container status, resource usage, and health checks, with powerful tools for starting, stopping, updating, and monitoring containers.Key Features
Real-Time Container Management
- Live Status Updates: Container states update automatically via Server-Sent Events (SSE)
- Resource Monitoring: CPU, memory, network, and disk I/O statistics refreshed every 5 seconds
- Health Checks: Visual indicators for container health status (healthy, unhealthy, starting)
- Change Highlighting: Configurable visual highlighting when resource metrics change significantly
Container Operations
Single Container Actions:- Start, stop, pause, unpause, and restart containers
- Remove containers (with force option)
- Update containers to latest image versions
- View detailed logs with follow mode
- Open interactive terminal sessions
- Inspect container configuration and metadata
- Select multiple containers for batch operations
- Bulk start, stop, restart, pause, unpause
- Bulk remove with confirmation
- Update multiple containers simultaneously
Container Creation
Create containers with comprehensive configuration options:- Image Selection: Pull from registries or use local images
- Port Mappings: Define host-to-container port mappings
- Volume Mounts: Bind mounts and named volumes
- Environment Variables: Set environment variables and secrets
- Network Configuration: Attach to custom networks
- Resource Limits: CPU and memory constraints
- Restart Policies: Configure automatic restart behavior
- Labels: Add custom labels for organization
Advanced Features
Auto-Update:- Check for image updates across all containers
- Schedule automatic updates with vulnerability scanning
- Configure update policies per container
- Vulnerability criteria: never, any, critical+high, critical only, or more than current
- Interactive shell access to running containers
- Multiple concurrent terminal sessions
- Shell detection (bash, sh, ash, zsh)
- User selection (root or custom user)
- Horizontal or vertical layout modes
- Browse container filesystem
- Upload and download files
- Edit files in-browser
- View file permissions and metadata
Filtering and Search
- Text Search: Search by container name, image, or stack name
- Status Filter: Filter by running, paused, exited, created, dead, restarting
- Multi-Select Filters: Combine multiple status filters
- Sortable Columns: Sort by name, image, state, health, uptime, stack, IP, CPU, memory, ports
UI Features
Data Grid:- Expandable rows for detailed information
- Resizable columns
- Persistent column widths and sort state
- Skeleton loading states
- Container ID (click to copy)
- Image name with tag
- Status badge with color coding
- Health status indicator
- Uptime display
- Stack/Compose project badge
- Resource usage graphs
- Network information (IP address, ports)
- Volume count and details
- Real-time log streaming
- Search and filter logs
- Horizontal or vertical layout
- Multiple log panels for different containers
- Auto-scroll with manual override
How to Use
Creating a Container
- Click the Create button in the top-right corner
- Select Image:
- Pull from a registry by entering an image name
- Or select from locally available images
- Configure Container:
- Enter a unique container name
- Set port mappings (e.g.,
8080:80) - Add environment variables
- Mount volumes for data persistence
- Advanced Options (optional):
- Set resource limits
- Configure restart policy
- Add labels
- Select network mode
- Click Create to start the container
Starting and Stopping Containers
Single Container:- Click the Play icon to start a stopped container
- Click the Stop icon to stop a running container
- Use the Pause icon to freeze a running container
- Select containers using the checkboxes
- Click the bulk action button in the selection bar:
- Start: Start all selected stopped containers
- Stop: Stop all selected running containers
- Restart: Restart all selected containers
Checking for Updates
- Click Check for updates to scan all containers
- Review containers with available updates (highlighted in amber)
- Click Update all to update all containers at once
- Or click the update icon on individual containers
- Review vulnerability scan results (if enabled)
- Confirm or cancel the update
Viewing Logs
- Click the Logs icon on a container row
- Logs panel opens at the bottom (or side, depending on layout)
- Use the search box to filter log entries
- Click Follow to auto-scroll with new logs
- Click the X to close the logs panel
Opening a Terminal
- Click the Terminal icon on a container row
- Select the shell type (bash, sh, etc.)
- Select the user (root or custom)
- Click Connect to open the terminal
- Multiple terminals can be open simultaneously
- Switch between terminals using the tabs
Browsing Files
- Click the Folder icon to open the file browser
- Navigate directories by clicking folder names
- Click Upload to upload files
- Click Download to download files
- Click Edit to modify files in-browser
UI Walkthrough
Header Section
- Title: “Containers” with total count
- Search Bar: Filter containers by name, image, or stack
- Status Filter: Multi-select dropdown for container states
- Create Button: Opens container creation modal
- Check for Updates: Scans for available image updates
- Update All: Updates all containers with available updates
- Prune: Removes stopped containers
- Refresh: Manually refresh container list
- Layout Toggle: Switch between horizontal and vertical layouts
Selection Bar
Appears when containers are selected:- Number of selected containers
- Clear: Deselect all containers
- Start/Stop/Restart/Pause/Unpause: Bulk actions
- Update: Update selected containers
- Remove: Delete selected containers
Container Table
Columns:- Checkbox: Select for bulk operations
- Name: Container name (click to highlight)
- Image: Image name and tag
- Status: Running, stopped, paused, etc.
- Health: Health check status
- Uptime: Time since container started
- Stack: Compose project name (if applicable)
- IP: Container IP address
- Ports: Published ports (clickable if public IP configured)
- CPU: CPU usage percentage
- Memory: Memory usage (MB/GB)
- Network: Network I/O (Rx/Tx)
- Disk: Disk I/O (Read/Write)
- Actions: Quick action buttons
- Play/Stop: Start or stop container
- Pause/Unpause: Freeze or resume container
- Restart: Restart container
- Update: Update to latest image
- Logs: View container logs
- Terminal: Open interactive shell
- Inspect: View container details
- Files: Browse container filesystem
- Edit: Modify container configuration
- Remove: Delete container
Bottom Panel (Logs/Terminal)
- Tabs: Switch between active log/terminal sessions
- Close Button: Close the current panel
- Resize Handle: Drag to adjust panel height
- Layout Toggle: Switch to vertical layout (panel on right)
Real Examples
Example: Running a Web Application
Example: Database Container with Backup
Example: Microservice with Health Check
Database Schema
Container data is tracked through the Docker API and enhanced with metadata from these tables: auto_update_settings:- Container auto-update configuration
- Schedule types: daily, weekly, cron expression
- Vulnerability criteria for blocking updates
- Last checked and last updated timestamps
- Containers with available updates
- Current and new image tags
- Stored until update is applied or dismissed
Technical Details
Real-Time Updates
- SSE Connection: Subscribes to Docker events for container changes
- Stats Polling: Fetches container statistics every 5 seconds via streaming API
- Event Types: start, stop, create, destroy, die, kill, pause, unpause, restart, health_status
- Automatic Refresh: On tab visibility change, reconnects and refreshes data
Performance Optimizations
- Lazy Loading: Stats only fetched for visible containers
- Debounced Search: 200ms delay on search input
- Virtual Scrolling: Efficient rendering for large container lists
- Cached Shell Detection: Shells detected once per container per session
State Management
- Persistent Store: Container data persists across page navigations
- Local Storage: Column widths, sort state, expanded rows, status filters
- URL Parameters: Search query preserved in URL
API Endpoints
GET /api/containers- List all containersPOST /api/containers- Create new containerGET /api/containers/stats/stream- Stream container statisticsPOST /api/containers/:id/start- Start containerPOST /api/containers/:id/stop- Stop containerPOST /api/containers/:id/restart- Restart containerPOST /api/containers/:id/pause- Pause containerPOST /api/containers/:id/unpause- Unpause containerDELETE /api/containers/:id- Remove containerPOST /api/containers/check-updates- Check for image updatesPOST /api/containers/batch-update- Update multiple containersPOST /api/prune/containers- Prune stopped containers
