DEV Community

Cover image for Comment on peut containeriser une application Next.js
Hamza Sehouli
Hamza Sehouli

Posted on

Comment on peut containeriser une application Next.js

Pour containeriser une application Next.js, vous pouvez utiliser Docker pour créer un fichier Dockerfile et un fichier .dockerignore. Voici un exemple de configuration basique :

1- Créer un fichier Dockerfile :

# Utiliser une image Node.js comme base
FROM node:18-alpine

# Créer un répertoire de travail dans le conteneur
WORKDIR /usr/src

# Copier package.json and package-lock.jsondans le conteneur
COPY package* .

# Installer les dépendances
RUN npm install

# Copier le source code
COPY . .

# Construire l'application Next.js
RUN npm run build

# Exposer le port utilisé par l'application Next.js
EXPOSE 3000

# Démarrer l'application
CMD ["npm", "start"]
Enter fullscreen mode Exit fullscreen mode

2- Créer un fichier .dockerignore :

Créez un fichier nommé .dockerignore pour spécifier les fichiers ou répertoires à exclure lors de la copie dans l'image Docker. Par exemple :

node_modules
Enter fullscreen mode Exit fullscreen mode

3- Construire l’image Docker :

Placez ces fichiers à la racine de votre application Next.js, puis exécutez les commandes suivantes dans votre terminal pour construire et exécuter le conteneur :

# Construire l'image Docker (assurez-vous d'être dans le répertoire contenant le Dockerfile)
docker build -t my-app .

# Exécuter le conteneur à partir de l'image construite
docker run --name next-container -p 3000:3000 my-app
Enter fullscreen mode Exit fullscreen mode

Ce processus va créer une image Docker pour votre application Next.js et exécuter un conteneur basé sur cette image, rendant votre application accessible sur le port 3000.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay