Skip to main content
Component: DockerAgent - Intelligent Docker Containerization Module: gaia_agent_docker.agent Inherits: MCPAgent Model: Qwen3.5-35B-A3B-GGUF (default)

Overview

DockerAgent helps developers containerize applications through natural language. It analyzes application structure, generates optimized Dockerfiles using LLM intelligence, and manages Docker image builds and container runs. Key Features:
  • Automatic application analysis (Python/Flask, Node/Express, etc.)
  • LLM-generated Dockerfiles following best practices
  • Docker build/run orchestration
  • MCP server integration for external tool access
  • Security: path validation

Requirements

Functional Requirements

  1. Application Analysis
    • Detect app type (Flask, Django, FastAPI, Express, React)
    • Find entry points (app.py, server.js, etc.)
    • Parse dependencies (requirements.txt, package.json)
    • Suggest appropriate ports
  2. Dockerfile Generation
    • Use LLM to generate content based on analysis
    • Follow best practices (layer caching, non-root users)
    • Include copyright headers
    • Support custom base images
  3. Docker Operations
    • Build images with tagging
    • Run containers with port mapping
    • Capture build/run output
    • Report success/failure
  4. MCP Integration
    • Expose dockerize tool via MCP
    • Accept absolute paths only
    • Validate inputs
    • Return structured results

API Specification

DockerAgent Class

MCP Tool Definition


Implementation Details

Application Analysis

Dockerfile Generation (LLM)

System Prompt teaches LLM best practices:
FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install —no-cache-dir -r requirements.txt COPY . . EXPOSE 5000 CMD [“python”, “app.py”]
FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci —only=production COPY . . EXPOSE 3000 CMD [“npm”, “start”]

Security: Path Validation


Testing Requirements

Unit Tests


Dependencies


Usage Examples

Example 1: CLI Usage

Example 2: Python API

Example 3: MCP Integration

Call from MCP client:


DockerAgent Technical Specification