--:--:--
4b

docker-expert

Comprehensive guide for Docker container management, compose configurations, volume management, networking, and troubleshooting. Use when the user asks about (1) creating or modifying Docker containers, (2) writing docker-compose.yml files, (3) managing volumes and data persistence, (4) Docker networking and port mapping, (5) container troubleshooting and logs, (6) migrating or reorganizing Docker data, (7) Windows-specific Docker configurations, or (8) any Docker-related questions.

← Identità🛠️ Archimedevrichiede credenziali/env
da chi viene · l'abbiamo controllata

da accertare
mai vettata — nessuno l'ha ancora guardata; non vuol dire che sia a posto

dove sta
C:\Users\Ettore\.openclaw\workspace-archimede\skills\docker-expert\SKILL.md
C:\Users\Ettore\.openclaw\workspace-archimede\skills\docker-expert
SKILL.md
name: docker-expert
description: Comprehensive guide for Docker container management, compose configurations, volume management, networking, and troubleshooting. Use when the user asks about (1) creating or modifying Docker containers, (2) writing docker-compose.yml files, (3) managing volumes and data persistence, (4) Docker networking and port mapping, (5) container troubleshooting and logs, (6) migrating or reorganizing Docker data, (7) Windows-specific Docker configurations, or (8) any Docker-related questions.

Docker Expert Skill

Core Principles

Directory Organization (Windows)

Organize all Docker data under a single root directory for maintainability:

C:\Users\{username}\Docker\
├── {service-name}\
│   ├── data\           # Persistent data (databases, media, configs)
│   ├── config\         # Configuration files
│   └── logs\           # Log files (if not using Docker logging)

Docker Compose Best Practices

Always use docker-compose.yml for multi-container setups. Structure:

version: "3.8"

services:
  service-name:
    image: image:tag
    container_name: service-name
    restart: unless-stopped
    ports:
      - "host:container"
    volumes:
      - ./data:/container/path
    environment:
      - VAR_NAME=value
    networks:
      - network-name

networks:
  network-name:
    driver: bridge

Volume Patterns

Named volumes (Docker-managed):

volumes:
  - db-data:/var/lib/postgresql/data
volumes:
  db-data:

Bind mounts (host-managed, preferred for Windows):

volumes:
  - C:/Users/Username/Docker/service/data:/container/path
  # Or relative paths:
  - ./data:/container/path

Common Services Reference

ServiceDefault PortsData PathConfig Notes
Jellyfin8096, 8920/config, /mediaMount media as read-only
n8n5678/home/node/.n8nNeeds N8N_BASIC_AUTH_* vars
Neo4j7474, 7687/data, /logsSet NEO4J_AUTH
Minecraft25565/dataEULA=TRUE required
Portainer9000, 9443/dataFor Docker management UI
Traefik80, 443, 8080/etc/traefikReverse proxy

Windows-Specific Notes

  1. Path format: Use forward slashes or escaped backslashes in compose files
  • C:/Users/Name/Docker/data
  • C:\\Users\\Name\\Docker\\data
  • C:\Users\Name\Docker\data
  1. WSL2 Backend: Recommended for better performance. Enable in Docker Desktop settings.
  2. File permissions: Windows volumes don't support Unix permissions; use user: directive when needed
  3. Line endings: Ensure .sh scripts use LF, not CRLF

Troubleshooting Commands

# View logs
docker logs -f container-name

# Shell into container
docker exec -it container-name /bin/bash
# Or for Alpine-based:
docker exec -it container-name /bin/sh

# Check resource usage
docker stats

# Inspect container
docker inspect container-name

# Network debugging
docker network ls
docker network inspect network-name

# Clean up
docker system prune -a        # Remove all unused images
docker volume prune           # Remove unused volumes

Migration Workflow

When reorganizing Docker data:

  1. Stop containers: docker-compose down
  2. Create new directory structure
  3. Copy data (preserve permissions where possible)
  4. Update docker-compose.yml paths
  5. Start containers: docker-compose up -d
  6. Verify functionality
  7. Remove old directories only after confirmation

Health Checks

Add health checks for critical services:

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 40s

Environment Variables

Use .env file for sensitive data:

# .env file (never commit to git)
DB_PASSWORD=secretpassword
API_KEY=your-api-key

Reference in compose:

environment:
  - DB_PASSWORD=${DB_PASSWORD}

Backup Strategy

For critical data volumes:

# Backup a volume
docker run --rm -v volume-name:/source -v $(pwd):/backup alpine tar czf /backup/backup.tar.gz -C /source .

# Restore a volume
docker run --rm -v volume-name:/target -v $(pwd):/backup alpine tar xzf /backup/backup.tar.gz -C /target

Additional Resources

  • Compose examples: See references/compose-examples.md for complete service configurations
  • Networking guide: See references/networking.md for advanced network setups
peso
1804token · Opus 54472 caratteri

Conteggio esatto dall'endpoint Anthropic count_tokens (gratuito, solo rate-limited), envelope del messaggio già sottratto. I caratteri sono un dato locale, servono da riscontro.

modifica
file accessori · 3
  • references/compose-examples.md5.2 kB
  • references/networking.md4.7 kB
  • SKILL.md4.4 kB
storico · 0 backup

nessuna modifica fatta da qui: nessun backup

commit sul file

questo workspace non è un repo git

Scrittura consentita solo dentro le cartelle skills\ dei workspace del registro e solo sul file SKILL.md (deroga alla stanza Identità autorizzata da Ettore il 2026-08-10). Ogni salvataggio crea prima un backup datato; nessun file viene mai cancellato.

LIVE
1 AGENTE AL LAVORO ora · Romeo: chat Discord #romeo-brainstorm26 task in corso su 16818 progetti monitoratiHomelab · Censire HD e creare gallerie dei contenutiHomelab · RAG + NotebookLM locale per documenti voluminosiKB · Costruzione KB (template + 3 argomenti pilota)KB · Obsidian: setup e usoVita · Automazione piano pasti (dispensa→ricette→spesa→piano)Vita · Lista ingredienti collegata a ricette + preferite77 sessioni registrate1 AGENTE AL LAVORO ora · Romeo: chat Discord #romeo-brainstorm26 task in corso su 16818 progetti monitoratiHomelab · Censire HD e creare gallerie dei contenutiHomelab · RAG + NotebookLM locale per documenti voluminosiKB · Costruzione KB (template + 3 argomenti pilota)KB · Obsidian: setup e usoVita · Automazione piano pasti (dispensa→ricette→spesa→piano)Vita · Lista ingredienti collegata a ricette + preferite77 sessioni registrate