Skip to content

Simple-Linux-Docker-Manager

Choose a tag to compare

@rjohny55 rjohny55 released this 12 Nov 22:32
· 40 commits to main since this release
63597c0

Simple Linux Docker Manager 🐳

A powerful, lightweight command-line tool for managing Docker images and containers with a beautiful colorized interface. Optimized for low-resource environments like Raspberry Pi, Orange Pi, and other mini-computers.

English Version

📖 Overview

Docker Manager is an interactive bash script that provides a comprehensive interface for managing Docker resources. It features a colorized menu system that makes Docker management intuitive and safe, especially for users who prefer GUI-like interactions in the terminal.

✨ Now with Enhanced Performance & Mobile Optimization

🌟 Key Features

🖼️ Enhanced Image Management

  • View all images with creation dates, sizes, and pagination
  • Delete selected images by number with preview
  • Delete unused images (dangling and unused)
  • Delete ALL images (with safety confirmation)
  • Delete <none> tagged images (intermediate layers)
  • Delete Docker build cache
  • 🆕 Update selected images from registry (pull)
  • 🆕 Push images to repositories
  • 🆕 Smart pagination for large image collections

🐳 Advanced Container Management

  • View all containers with status, names, IP addresses, and memory usage
  • Stop selected containers by number
  • Delete selected containers by number
  • Stop and delete containers in one operation
  • Start selected containers by number
  • 🆕 Real-time container statistics (IP, memory, status)
  • 🆕 Paginated container lists

📊 System Monitoring

  • 🆕 Disk usage statistics for images
  • 🆕 Memory usage statistics for containers
  • 🆕 Real-time system resource monitoring
  • 🆕 Storage optimization insights

🎨 Interface Features

  • Color-coded output for better readability
  • Interactive number selection for operations
  • Safety confirmations for destructive operations
  • Cancel option in every operation
  • Real-time preview of what will be affected
  • 🆕 Bilingual support (English/Russian)

🚀 Advantages & Performance

✨ Minimal Resource Usage

  • Pure Bash implementation - no additional dependencies
  • Low memory footprint (<10MB during operation)
  • Efficient process management without background services
  • Fast execution with optimized Docker API calls
  • No GUI overhead - pure terminal interface

📱 Mobile & Mini-Computer Optimized

  • ✅ Raspberry Pi (all models)
  • ✅ Orange Pi (all variants)
  • ✅ Rock64 and other SBCs
  • ✅ Atomic Pi and mini x86 systems
  • ✅ Low-power ARM devices
  • ✅ Embedded Linux systems

⚡ Performance Benefits

  • Minimal CPU usage during idle
  • Efficient memory management
  • Fast startup and response times
  • Optimized for slow storage (SD cards)
  • Handles large numbers of images/containers efficiently

🛠️ Requirements

  • Bash 4.0 or higher
  • Docker installed and running
  • Linux environment (including WSL on Windows)

📦 Installation

Method 1: Direct Download (English Version)

# Download the English version
wget https://raw.githubusercontent.com/rjohny55/Simple-Linux-Docker-Manager/main/sldm.sh

# Make executable
chmod +x sldm.sh

# Run the script
./sldm.sh


Method 2: Git Clone (Both Versions)

git clone https://github.com/rjohny55/Simple-Linux-Docker-Manager.git
cd Simple-Linux-Docker-Manager

# English version
chmod +x sldm.sh
./sldm.sh

# Russian version
chmod +x sldm_ru.sh
./sldm_ru.sh


🎮 Usage

Quick Start

./sldm.sh

Main Menu Options

  1. 📦 Show all images - Display all Docker images with pagination and details
  2. 🐳 Show all containers - Display all containers with status and resource usage
  3. 🧹 Docker system cleanup - Comprehensive cleanup options

Image Operations

  • Delete selected images - Choose specific images to remove
  • Delete unused images - Clean up unused images
  • Delete ALL images - Remove all images (requires confirmation)
  • Delete images with <none> tag - Clean intermediate layers
  • Delete Docker build cache - Free up build cache space
  • 🆕 Update selected image - Pull latest version from registry
  • 🆕 Push selected image - Push to Docker repository

Container Operations

  • Stop selected containers - Stop running containers
  • Delete selected containers - Remove containers
  • Stop and delete containers - Combined operation
  • Start selected containers - Start stopped containers

🎯 Examples

Clean up unused resources:

  1. Run the script: ./sldm.sh
  2. Choose option 3 (Docker system cleanup)
  3. Select cleanup options as needed

Remove specific containers:

  1. Run the script: ./sldm.sh
  2. Choose option 2 (Show all containers)
  3. Choose delete operation
  4. Enter container numbers (e.g., 1 3 5)
  5. Confirm deletion

Update and manage images:

  1. Run the script: ./sldm.sh
  2. Choose option 1 (Show all images)
  3. Use new update/push features
  4. Navigate pages if you have many images

⚠️ Safety Features

  • Double confirmation for dangerous operations
  • Preview before deletion shows exactly what will be removed
  • Cancel option available at every step
  • Color-coded warnings for destructive operations
  • 🆕 Russian keyboard layout support for confirmations

🔧 Advanced Usage

Add to PATH for global access:

sudo cp sldm.sh /usr/local/bin/docker-manager
docker-manager  # Now available anywhere

Create alias for quick access:

echo "alias dm='./sldm.sh'" >> ~/.bashrc
source ~/.bashrc
dm  # Quick access

System Compatibility

Device Type | RAM Usage | Storage | Performance -- | -- | -- | -- Raspberry Pi 4 | <15MB | MicroSD | Excellent Orange Pi Zero | <10MB | MicroSD | Great Rock64 4GB | <12MB | eMMC | Excellent Atomic Pi | <20MB | eMMC | Excellent

📄 License / Лицензия

MIT License - feel free to use this script in your projects!
MIT License - свободно используйте этот скрипт в своих проектах!

🤝 Contributing / Участие в разработке

Contributions are welcome! Please feel free to submit a Pull Request.
Вклад приветствуется! Вы можете создавать Pull Request.

⚠️ Disclaimer / Предупреждение

This script performs destructive operations. Always ensure you have backups and understand what you're deleting. The authors are not responsible for any data loss.
Этот скрипт выполняет деструктивные операции. Всегда убеждайтесь, что у вас есть резервные копии и вы понимаете, что удаляете. Авторы не несут ответственности за потерю данных.

⭐ If you find this project useful, please give it a star!
⭐ Если вы находите этот проект полезным, пожалуйста, поставьте звезду!