Aller au contenu principal

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 --from=build /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