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"]
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
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
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.