Initialize Docker environment with Dockerfile, compose config, and .dockerignore
View on GitHubFebruary 1, 2026
Select agents to install to:
npx add-skill https://github.com/mwguerra/claude-code-plugins/blob/main/docker-specialist/skills/docker-init/SKILL.md -a claude-code --skill docker-initInstallation paths:
.claude/skills/docker-init/# 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