Skip to content

Dockerfile Generator

Générateur interactif de Dockerfile avec bonnes pratiques et optimisations.

Base Image
Build Configuration
Runtime
Options
Dockerfile généré

Bonnes pratiques

Images de base recommandées

Langage Image Production Image Build
Node.js node:20-alpine node:20
Python python:3.12-slim python:3.12
Go gcr.io/distroless/static golang:1.22-alpine
Java eclipse-temurin:21-jre-alpine eclipse-temurin:21-jdk
Rust gcr.io/distroless/cc rust:1.75-alpine

Optimisations

# Utiliser les build caches
RUN --mount=type=cache,target=/root/.npm npm ci

# Copier les fichiers de dépendances d'abord (meilleur cache)
COPY package*.json ./
RUN npm install
COPY . .

# Multi-stage pour réduire la taille
FROM node:20 AS builder
# ... build
FROM node:20-alpine AS runtime
COPY --from=builder /app/dist ./dist

Sécurité

# Ne jamais faire
RUN curl http://example.com/script.sh | sh  # Dangereux!
USER root  # Éviter

# Bonnes pratiques
USER node  # Utilisateur non-root
RUN chmod 755 /app  # Permissions minimales

Référence rapide

Instruction Description
FROM Image de base
WORKDIR Répertoire de travail
COPY Copie fichiers (contexte → image)
ADD Comme COPY + extraction tar/URL
RUN Exécute commandes
ENV Variables d'environnement
ARG Arguments de build
EXPOSE Documente le port
USER Change l'utilisateur
CMD Commande par défaut
ENTRYPOINT Point d'entrée
HEALTHCHECK Vérification santé
LABEL Métadonnées