Image Nuxt
Retrouvez ici une solution pour dockeriser nuxt pour la production.
Dockerfile
Dockerfile
ARG NODE_VERSION=20.18.0
FROM node:${NODE_VERSION}-slim as base
ARG PORT=3000
WORKDIR /src
# Build
FROM base as build
COPY --link package.json package-lock.json .
RUN npm install
COPY --link .. .
RUN npm run build
# Run
FROM base
ENV PORT=$PORT
ENV NODE_ENV=production
COPY /src/.output /src/.output
CMD [ "node", ".output/server/index.mjs" ]
Docker run
Si vous souhaitez utiliser cette image sans docker compose, voici les commandes nécessaire :
docker build -t nuxt-app:latest .
docker run -d -p 8000:80 --name nuxt-app nuxt-app:latest
Docker compose
Si vous souhaitez utiliser cette image avec un docker compose, voici un example simple de service :
compose.yml
services:
nuxt-app:
build: .
container_name: nuxt-app
ports:
- "8000:80" # En fonction des ports que vous utilisez
Puis lancer :
docker compose up -d --build