Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

docker-init

verified

Initialize Docker environment with Dockerfile, compose config, and .dockerignore

View on GitHub

Marketplace

mwguerra-marketplace

mwguerra/claude-code-plugins

Plugin

docker-specialist

devops

Repository

mwguerra/claude-code-plugins
15stars

docker-specialist/skills/docker-init/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/mwguerra/claude-code-plugins/blob/main/docker-specialist/skills/docker-init/SKILL.md -a claude-code --skill docker-init

Installation paths:

Claude
.claude/skills/docker-init/
Powered by add-skill CLI

Instructions

# Docker Environment Initialization Skill

## Overview

This skill creates a complete Docker environment for a project, including:
- Dockerfile optimized for the application type
- docker-compose.yaml with all required services
- .dockerignore for efficient builds
- .env.example for environment configuration

## Activation

Use this skill when:
- Setting up Docker for a new project
- Migrating an existing project to Docker
- Adding Docker support to a codebase

## Process

### 1. Detect Project Type

Analyze the project to determine:
- Primary language (Node.js, Python, PHP, Go, etc.)
- Framework (Laravel, Express, Django, etc.)
- Required services (database, cache, queue)
- Existing configuration files

### 2. Consult Documentation

Read relevant documentation:
- `02-dockerfile.md` for Dockerfile patterns
- `03-compose-fundamentals.md` for compose structure
- `05-databases.md` if database needed
- `10-architecture.md` for folder structure

### 3. Generate Files

#### Dockerfile

```dockerfile
# Multi-stage build pattern
FROM base AS builder
# Build steps

FROM base AS production
# Production setup
```

Key elements:
- Use appropriate base image
- Multi-stage build for smaller images
- Non-root user for security
- Health check
- Proper COPY order for caching

#### docker-compose.yaml

```yaml
services:
  app:
    build: .
    # Configuration

  db:
    image: postgres:16
    # Configuration

volumes:
  # Named volumes

networks:
  # Network configuration
```

Key elements:
- No version field (modern compose)
- Health checks
- Dependencies with conditions
- Named volumes
- Proper networking

#### .dockerignore

```
node_modules/
.git/
.env
*.log
```

#### .env.example

```bash
# Application
NODE_ENV=development
PORT=3000

# Database
DB_HOST=db
DB_USER=appuser
DB_PASSWORD=
```

### 4. Provide Instructions

Include:
- How to start services
- Available commands
- Environment setup
- Development workflow

## Templates by Project Type

### Node.js

```dockerfile
FROM node

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2981 chars