Maison >interface Web >js tutoriel >Comment Dockeriser votre application Next.js : un guide étape par étape

Comment Dockeriser votre application Next.js : un guide étape par étape

DDD
DDDoriginal
2025-01-24 00:35:10578parcourir

Cet article de blog montre comment conteneuriser une application Next.js à l'aide de Docker et Docker Compose. Nous aborderons la création d'un Dockerfile, un fichier .dockerignore (bien que cela ne soit pas explicitement affiché, c'est implicite) et la configuration de docker-compose.yml pour un développement et un déploiement efficaces. Cela garantit un environnement cohérent à toutes les étapes.


Étape 1 : Configuration de votre projet Next.js

Commencez par créer une nouvelle application Next.js :

<code class="language-bash">npx create-next-app@latest my-next-app</code>

Remplacez "my-next-app" par le nom de votre projet souhaité. Cela génère un projet Next.js de base.


Étape 2 : Initialisation de Docker

Accédez au répertoire de votre projet et initialisez Docker. Bien que les instructions originales suggèrent docker init, cette commande n'est pas standard. Au lieu de cela, nous créerons manuellement les fichiers nécessaires. Cela offre plus de contrôle et évite les problèmes potentiels avec une commande non standard.


La structure du projet résultante devrait ressembler à ceci :

How to Dockerize Your Next.js App: A Step-by-Step Guide


Étape 3 : Optimiser Next.js pour les versions autonomes

Modifiez next.config.ts (ou next.config.js) pour générer un build autonome :

<code class="language-typescript">import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  output: 'standalone',
}

export default nextConfig</code>

Cela simplifie le déploiement en créant une application autonome.


Étape 4 : Créer le fichier Docker

Créez un Dockerfile à la racine de votre projet avec le contenu suivant :

<code class="language-dockerfile">FROM node:20-alpine

WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "run", "dev"]</code>

Ceci utilise une image Alpine Node.js 20, installe les dépendances, copie le code de l'application, expose le port 3000 et démarre le serveur de développement.


Étape 5 : Configuration de docker-compose.yml

Créez un fichier docker-compose.yml à la racine de votre projet :

<code class="language-yaml">version: "3.9"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development</code>

Ceci définit un service nommé web qui construit l'image à partir du répertoire actuel, mappe le port 3000 et définit le NODE_ENV sur development.

Démarrez l'application en utilisant :

<code class="language-bash">docker-compose up</code>

How to Dockerize Your Next.js App: A Step-by-Step Guide


Conclusion

Cette approche rationalisée utilise les commandes Docker standard et les meilleures pratiques pour conteneuriser votre application Next.js, simplifiant ainsi le déploiement et garantissant la cohérence entre les environnements. N'oubliez pas de remplacer "my-next-app" par le nom réel de votre projet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn