docker-manager
SKILL.md
Docker Manager Skill
Docker container and image management.
When to Use
- Start/stop containers
- View container logs
- Inspect container status
- Manage Docker images
- Debug container issues
Container Management
List Containers
# List running containers
docker ps
# List all containers (including stopped)
docker ps -a
# List with size
docker ps -as
# Filter containers
docker ps --filter "status=exited"
docker ps --filter "name=web"
Start/Stop Containers
# Start container
docker start my-container
# Stop container
docker stop my-container
# Restart container
docker restart my-container
# Stop all running containers
docker stop $(docker ps -q)
# Kill container (force stop)
docker kill my-container
Remove Containers
# Remove stopped container
docker rm my-container
# Remove running container (force)
docker rm -f my-container
# Remove all stopped containers
docker container prune -f
# Remove all containers
docker rm $(docker ps -aq)
Logs & Debugging
View Logs
# View logs
docker logs my-container
# Follow logs
docker logs -f my-container
# View last N lines
docker logs --tail 100 my-container
# View with timestamp
docker logs -t my-container
# Combine flags
docker logs --tail 50 -f --timestamps my-container
Inspect Container
# Get container info
docker inspect my-container
# Get specific field
docker inspect -f '{{.State.Status}}' my-container
docker inspect -f '{{.NetworkSettings.IPAddress}}' my-container
docker inspect -f '{{.Config.Env}}' my-container
Execute Commands
# Run command in container
docker exec my-container ls -la
# Interactive shell
docker exec -it my-container /bin/bash
# Run as different user
docker exec -u root my-container /bin/bash
Container Stats
# Real-time stats
docker stats
# Stats for specific container
docker stats my-container
# Stats with no streaming
docker stats --no-stream my-container
Image Management
List Images
# List all images
docker images
# List with size
docker images -a
# Filter images
docker images --filter "dangling=true"
Pull/Push Images
# Pull image
docker pull ubuntu:latest
# Pull specific tag
docker pull nginx:alpine
# Push image
docker push myregistry/myimage:latest
Remove Images
# Remove image
docker rmi my-image:latest
# Remove dangling images
docker image prune -f
# Remove all unused images
docker image prune -a -f
Docker Compose
Common Commands
# Start services
docker-compose up -d
# Stop services
docker-compose down
# View logs
docker-compose logs -f
# Rebuild and start
docker-compose up -d --build
# Scale service
docker-compose up -d --scale web=3
# Run single service
docker-compose run web bash
Network Management
List Networks
# List networks
docker network ls
# Inspect network
docker network inspect bridge
Create Network
# Create bridge network
docker network create my-network
# Create with subnet
docker network create --subnet 172.20.0.0/16 my-network
Volume Management
List Volumes
# List volumes
docker volume ls
# Inspect volume
docker volume inspect my-volume
Create/Remove Volumes
# Create volume
docker volume create my-volume
# Remove volume
docker volume rm my-volume
# Remove unused volumes
docker volume prune -f
Examples
Quick Container Health Check
#!/bin/bash
# Check all container health
for container in $(docker ps --format '{{.Names}}'); do
status=$(docker inspect -f '{{.State.Health.Status}}' $container 2>/dev/null || echo "no-healthcheck")
running=$(docker inspect -f '{{.State.Running}}' $container)
echo "$container: running=$running health=$status"
done
Cleanup Script
#!/bin/bash
# Docker cleanup script
# Stop all containers
docker stop $(docker ps -q)
# Remove all containers
docker rm $(docker ps -aq)
# Remove all images
docker rmi $(docker images -q)
# Remove all volumes
docker volume prune -f
# Remove all networks (except default)
docker network prune -f
Monitor Resource Usage
# Watch container stats
watch -n 1 'docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"'
Docker Compose Example
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
environment:
- NGINX_HOST=localhost
restart: unless-stopped
api:
build: ./api
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://db:5432/app
depends_on:
- db
db:
image: postgres:15
volumes:
- db-data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
db-data:
Notes
- Use
docker system dfto see disk usage - Use
docker system prunefor general cleanup - Consider using
--restart unless-stoppedfor production containers - Use volumes for persistent data
- Use networks for inter-container communication
Weekly Installs
4
Repository
winsorllc/upgra…carnivalFirst Seen
Mar 1, 2026
Security Audits
Installed on
gemini-cli4
github-copilot4
codex4
kimi-cli4
cursor4
amp4