Skip to main content

Docker Container Issues

Problem: Docker not available or Container runtime not detected errors.Solution:DeerFlow supports multiple container runtimes:
  • macOS: Automatically prefers Apple Container if available, falls back to Docker
  • Other platforms: Uses Docker
  1. Verify Docker is running:
  2. On macOS with Apple Container:
  3. Force Docker runtime (if Apple Container has issues):
  4. Check Docker Desktop is running:
    • macOS/Windows: Launch Docker Desktop app
    • Linux: sudo systemctl start docker
Problem: Failed to pull image or long wait times when first using sandbox.Solution:The sandbox image is large (~500MB+) and pulled on first use.
  1. Pre-pull the image (recommended):
  2. Manual pull with progress:
  3. Use alternative registry (if blocked):
  4. Verify image exists after pull:
  5. Check disk space:
Problem: Sandbox container starts but exits with error, or never becomes ready.Solution:
  1. Check container logs:
  2. Verify port availability:
  3. Check container resource limits:
  4. Test container manually:
  5. Verify image architecture matches system:
Problem: Many sandbox containers accumulate over time, consuming resources.Solution:
  1. Clean up DeerFlow sandbox containers:
  2. Manual cleanup script:
  3. Remove all stopped containers:
  4. Force remove specific container:
  5. Verify cleanup:
  6. Configure auto-removal (already default):

Path Mapping Problems

Problem: Agent reports File not found but file exists on host machine.Solution:DeerFlow uses virtual path mapping between host and sandbox:Path Translation:
  • Agent sees: /mnt/user-data/workspace/file.txt
  • Host location: backend/.deer-flow/threads/{thread_id}/user-data/workspace/file.txt
  • Agent sees: /mnt/skills/public/research/SKILL.md
  • Host location: skills/public/research/SKILL.md
  1. Verify file exists on host:
  2. Check path mapping in config:
  3. Verify Docker mounts (if using Docker sandbox):
  4. Test file access from within container:
  5. Common path mistakes:
    • ❌ Wrong: read_file("/home/user/file.txt") (not mounted)
    • ✅ Correct: read_file("/mnt/user-data/workspace/file.txt")
    • ❌ Wrong: Relative paths like ./file.txt (ambiguous)
    • ✅ Correct: Absolute paths starting with /mnt/
Problem: Agent reports skills unavailable or cannot access skill files.Solution:
  1. Verify skills directory exists:
  2. Check skills configuration:
  3. Verify skills are enabled:
  4. Check skill file format:
  5. Verify mount in container:
  6. Restart to reload skills:
Problem: Permission denied when accessing files or executing commands in sandbox.Solution:
  1. Check host file permissions:
  2. For Docker on Linux - user ID mapping:
  3. SELinux issues (Linux):
  4. Read-only mount issues:
  5. Windows path permissions:
    • Ensure Docker Desktop has access to drive
    • Settings → Resources → File Sharing → Add drive

Kubernetes/Provisioner Issues

Problem: Connection refused to K8s API when using provisioner mode.Solution:
  1. Check Kubernetes cluster is running:
  2. Enable Kubernetes in Docker Desktop:
    • Open Docker Desktop → Settings
    • Navigate to Kubernetes tab
    • Check “Enable Kubernetes”
    • Click “Apply & Restart”
    • Wait for Kubernetes to start (may take 2-5 minutes)
  3. Check API server address in kubeconfig:
  4. Override API server for provisioner:
  5. Verify kubeconfig mount:
  6. Test connection from provisioner:
Problem: Kubernetes Pods for sandboxes never become Ready.Solution:
  1. Check Pod status and events:
  2. Common causes: Image pull issues:
    Resource constraints:
    Volume mount issues:
  3. Check provisioner logs:
  4. Verify namespace exists:
  5. Test Pod creation manually:
Problem: Backend can’t reach sandbox via NodePort URL.Solution:
  1. Verify Service was created:
  2. Test from host machine first:
  3. Test from backend container:
  4. Check extra_hosts in docker-compose (Linux):
  5. Verify NODE_HOST configuration:
  6. Check Pod network is reachable:

Next Steps