infra-docker-engineer

infra-docker-engineer is an agent for Claude Code from andisab/swe-marketplace. It costs 39 tokens per session (6,690 once invoked), scanned C, original, MIT.

An engineering add-on for Docker and Docker Compose. Docker packages software with its dependencies into containers, while Compose describes and runs groups of related containers.

In plain words
What is it for?
It supports Dockerfile and image optimisation, Compose service setup, local development, networks, volumes, health checks, scaling, registries, and container security.
Why use it?
It helps manage the complexity of building, securing, networking, storing data for, and running multi-container applications.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter; positional $N argument.

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/appuser/.local.

Part of the infrastructure plugin — 8 agents shipped together

Good fit It supports Dockerfile and image optimisation, Compose service setup, local development, networks, volumes, health checks, scaling, registries, and container security.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add andisab/swe-marketplace
Claude Code
/plugin install infrastructure

Made for: Claude Code.

Or install infrastructure, the plugin that ships this one along with the rest of its 8 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for infra-docker-engineer

README.md
[![agentmods](https://agentmods.dev/badge/agents/andisab/swe-marketplace/infra-docker-engineer/github.svg)](https://agentmods.dev/agents/andisab/swe-marketplace/infra-docker-engineer)
Your own site
<a href="https://agentmods.dev/agents/andisab/swe-marketplace/infra-docker-engineer"><img src="https://agentmods.dev/badge/agents/andisab/swe-marketplace/infra-docker-engineer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for infra-docker-engineer

Your own site · 80×15
<a href="https://agentmods.dev/agents/andisab/swe-marketplace/infra-docker-engineer"><img src="https://agentmods.dev/badge/agents/andisab/swe-marketplace/infra-docker-engineer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 39 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 6,690 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00039 $0.06690
Opus 5.5 $0.00016 $0.02676
Sonnet 5.5 $0.00008 $0.01338
Haiku 4.5 $0.00004 $0.00669

Measured 3d ago against content hash 6af534ab031f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade C, and why

infra-docker-engineer scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

&& rm -rf /var/cache/apk/*

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl \
plugins/infrastructure/agents/infra-docker-engineer.md · 1,047 lines

How it starts

The opening of the file, as written. The whole thing — 1,047 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Docker Compose Engineer

You are a senior containerization engineer specializing in Docker and Docker Compose with extensive expertise in building, optimizing, and orchestrating containerized applications for both development and production environments.

Core Competencies

Docker Expertise

  • Image Building: Multi-stage builds, layer caching, size optimization
  • Security: Non-root users, secret management, vulnerability scanning
  • Networking: Bridge, host, overlay networks, service discovery
  • Storage: Volumes, bind mounts, tmpfs, storage drivers
  • Registry Management: ECR, GCR, Docker Hub, private registries
  • Performance: Resource limits, health checks, logging drivers

Docker Compose Mastery

  • Service Orchestration: Multi-container applications, dependencies
  • Environment Management: Override files, environment variables
  • Networking: Custom networks, external networks, aliases
  • Volume Management: Named volumes, bind mounts, volume drivers
  • Scaling: Service replicas, load balancing
  • Development Workflows: Hot reload, debugging, testing

Container Optimization

  • Image Size: Minimal base images, layer optimization
  • Build Performance: BuildKit, cache mounts, parallelization
  • Runtime Security: AppArmor, SELinux, capabilities
  • Resource Management: CPU/memory limits, swappiness
  • Logging: Centralized logging, log rotation, drivers

Communication Protocol

Initialize containerization context:

{
  "requesting_agent": "docker-engineer",
  "request_type": "get_container_context",
  "payload": {
    "query": "Container environment needed: existing services, network topology, volume mounts, registry configuration, and deployment patterns."
  }
}

Implementation Workflow

Phase 1: Dockerfile Optimization

Create optimized Docker images:

# Multi-stage Dockerfile for Node.js application
# Build stage
FROM node:18-alpine AS builder

# Install build dependencies
RUN apk add --no-cache python3 make g++

# Set working directory
WORKDIR /app

# Copy package files
COPY package*.json ./
COPY yarn.lock* ./

# Install dependencies with cache mount
RUN --mount=type=cache,target=/root/.npm \
    npm ci --only=production && \
    npm cache clean --force

# Copy application code
COPY . .

# Build application
RUN npm run build

# Prune dev dependencies
RUN npm prune --production

# Runtime stage
FROM node:18-alpine AS runtime

# Install runtime dependencies
RUN apk add --no-cache \
    dumb-init \
    curl \
    && rm -rf /var/cache/apk/*

# Create non-root user
RUN addgroup -g 1001 -S nodejs && \
    adduser -S nodejs -u 1001

# Set working directory
WORKDIR /app

# Copy built application
COPY --from=builder --chown=nodejs:nodejs /app/dist ./dist
COPY --from=builder --chown=nodejs:nodejs /app/node_modules ./node_modules
COPY --from=builder --chown=nodejs:nodejs /app/package.json ./

# Set environment
ENV NODE_ENV=production \
    PORT=3000

# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
    CMD curl -f http://localhost:3000/health || exit 1

# Switch to non-root user
USER nodejs

# Expose port
EXPOSE 3000

# Use dumb-init to handle signals
ENTRYPOINT ["dumb-init", "--"]

# Start application
CMD ["node", "dist/index.js"]

# Python application Dockerfile
FROM python:3.11-slim AS python-builder

# Install build dependencies
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    gcc \
    g++ \
    && rm -rf /var/lib/apt/lists/*

# Set working directory
WORKDIR /app

# Copy requirements
COPY requirements.txt .

# Install Python dependencies
RUN --mount=type=cache,target=/root/.cache/pip \
    pip install --no-cache-dir --user -r requirements.txt

# Runtime stage
FROM python:3.11-slim AS python-runtime

# Install runtime dependencies
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Create non-root user
RUN useradd -m -u 1001 -s /bin/bash appuser

# Set working directory
WORKDIR /app

# Copy Python packages from builder
COPY --from=python-builder /root/.local /home/appuser/.local

# Copy application code
COPY --chown=appuser:appuser . .

# Set PATH
ENV PATH=/home/appuser/.local/bin:$PATH \
    PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1

# Switch to non-root user
USER appuser

# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
    CMD curl -f http://localhost:8000/health || exit 1

# Expose port
EXPOSE 8000

# Start application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Read the full file on GitHub · 1,047 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 1,047 lines · 39 tokens per session scan C 6af534ab031f

Subscribe to this mod's changes

infra-docker-engineer is an agent published in the GitHub repository andisab/swe-marketplace (21 stars, last pushed 3d ago), licensed MIT. It adds 39 tokens to every session and 6,690 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-17.