Install
openclaw skills install eric-docker-helperManage Docker containers, images, volumes, networks, and Docker Compose projects. Use when the user wants to: (1) List/start/stop/restart Docker containers, (2) View container logs and stats, (3) Build and manage Docker images, (4) Create and manage docker-compose.yml files, (5) Clean up unused Docker resources, (6) Debug container issues. Best for developers, DevOps engineers, and anyone running Docker on their server.
openclaw skills install eric-docker-helperSimplify Docker container management, compose setup, and debugging through natural language commands.
✅ USE this skill when:
❌ DON'T use this skill when:
When the user asks about containers, the agent runs:
# List all
docker ps -a
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# Inspect specific
docker inspect [container] | jq '.[0].NetworkSettings.Ports'
docker stats [container] --no-stream
# Control
docker start/stop/restart [container]
docker rm -f [container] (only with user confirmation)
For debugging container issues:
# Standard logs
docker logs [container] --tail 50
docker logs [container] --tail 200 | grep -i error
# Resource issues
docker stats --no-stream
# Check why container exited
docker inspect [container] | jq '.[0].State'
docker logs [container] --tail 20 --timestamps
# List images
docker images
# Build
docker build -t [name]:[tag] .
# Cleanup (with confirmation)
docker image prune -a -f
When the user needs a compose file:
docker-compose.yml with:
latest in production).env file)Always ask for confirmation before:
docker system prune -a -f (removes ALL unused resources)docker volume prune -f (removes orphaned volumes with data)docker image rm without the -f flag firstWeb App (Node/Python + Postgres):
services:
app:
build: .
ports: ["${PORT}:${PORT}"]
env_file: .env
depends_on: [db]
db:
image: postgres:16-alpine
volumes: ["pgdata:/var/lib/postgresql/data"]
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_PASSWORD: ${DB_PASS}
volumes: {pgdata:}
Nginx Reverse Proxy:
services:
nginx:
image: nginx:alpine
ports: ["80:80", "443:443"]
volumes: ["./nginx.conf:/etc/nginx/nginx.conf:ro", "./html:/usr/share/nginx/html:ro"]
User: "What containers are running?" Agent: Runs
docker ps --format "table..."and shows a clean tableUser: "My nginx container won't start" Agent: Checks logs + inspect, identifies the port conflict or config error
User: "Clean up Docker, it's using too much space" Agent: Runs
docker system df, shows usage, asks what to pruneUser: "Create a compose file for a Python app with Redis" Agent: Generates docker-compose.yml + .env.example, explains each part
docker compose (v2) over docker-compose (v1) when available