Loading...
Loading...
Initialize Docker environment with Dockerfile, compose config, and .dockerignore
npx skill4agent add mwguerra/claude-code-plugins docker-init02-dockerfile.md03-compose-fundamentals.md05-databases.md10-architecture.md# Multi-stage build pattern
FROM base AS builder
# Build steps
FROM base AS production
# Production setupservices:
app:
build: .
# Configuration
db:
image: postgres:16
# Configuration
volumes:
# Named volumes
networks:
# Network configurationnode_modules/
.git/
.env
*.log# Application
NODE_ENV=development
PORT=3000
# Database
DB_HOST=db
DB_USER=appuser
DB_PASSWORD=FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
USER node
EXPOSE 3000
CMD ["node", "src/index.js"]FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
USER nobody
EXPOSE 8000
CMD ["python", "app.py"]FROM php:8.3-fpm-alpine
WORKDIR /var/www/html
RUN apk add --no-cache postgresql-dev && \
docker-php-ext-install pdo pdo_pgsql
COPY /usr/bin/composer /usr/bin/composer
COPY . .
RUN composer install --no-dev --optimize-autoloader
EXPOSE 9000
CMD ["php-fpm"]FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.* ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o main .
FROM alpine:latest
COPY /app/main .
EXPOSE 8080
CMD ["./main"]Dockerfiledocker-compose.yamlcompose.yaml.dockerignore.env.exampledocker/