Axiom Refract + Docker
Axiom Refract analyzes Dockerfiles and container configurations as part of your architectural record
How It Works
Include Dockerfiles in Your Repository
Ensure your Dockerfiles, docker-compose.yml files, and related container configurations are committed to the repository being scanned.
Run Standard Scan
Trigger a standard Axiom scan. Docker and container files are automatically detected and included in the analysis — no special configuration required.
Review Infrastructure Findings
Access infrastructure-specific findings in the architectural record. Dockerfiles appear in the dependency graph alongside the application code they containerize.
Analyze Container Relationships
Review how Docker Compose service definitions map to application components. Multi-stage build dependencies and service interconnections are reflected in the architectural graph.
What You Can Do
Dockerfile Parsing
Axiom parses Dockerfiles to extract base image dependencies, multi-stage build relationships, and COPY/ADD source references that connect container definitions to application code.
Docker Compose Service Mapping
Axiom parses docker-compose.yml files to map service definitions, inter-service dependencies, volume mounts, and network configurations as architectural relationships.
Infrastructure-Application Coupling
Docker configurations that reference application code create architectural dependencies between infrastructure and application layers. Axiom maps these cross-layer relationships.
Base Image Tracking
Track which base images your containers depend on and identify where base image updates would affect your container build chain.
Setup
No special configuration is needed. Axiom automatically detects and parses Dockerfiles, docker-compose.yml, and related container configuration files when they are present in the scanned repository. Infrastructure findings appear alongside application code findings in the architectural record.
# Example Dockerfile analyzed by Axiom FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build FROM node:20-alpine AS runtime WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules EXPOSE 3000 CMD ["node", "dist/main.js"] # Axiom parses this Dockerfile and identifies: # - Base image dependency: node:20-alpine # - Multi-stage build relationship: builder -> runtime # - Application code reference: COPY . . # - Entry point: dist/main.js
Why This Matters
Container configurations are architecture. The Dockerfile that builds your service, the docker-compose.yml that defines your development environment, and the Kubernetes manifests that deploy your production system are all structural components that affect how your application is built, deployed, and operated. Axiom treats infrastructure definitions as first-class architectural elements.