# backend/Dockerfile.dev # Development Dockerfile with hot reload support # Stage 1: Base image with Go tools FROM golang:1.21-alpine AS base # Install developement tools # - git: Required for go get # - gcc, musl-dev: Required for CGO (some packages need C compiler) # - air: Hot reload tool for GO RUN apk add --no-cache \ git \ gcc \ musl-dev && \ go install github.com/air-verse/air@latest # Set working directory WORKDIR /app # Stage 2: Development environment FROM base as development # Copy dependency files first (for layer caching) COPY go.mod go.sum./ # Download dependencies # This layer is cached unless go.mod or go.sum changes RUN go mod download # Copy Air configuration COPY .air.t