31 lines
644 B
Docker
31 lines
644 B
Docker
# Dockerfile.prod
|
|
FROM node:23-slim
|
|
|
|
# Definir variables de entorno con valores predeterminados
|
|
ARG NODE_ENV=production
|
|
ARG PORT=8080
|
|
|
|
# Definir las variables de entorno dentro del contenedor
|
|
ENV NODE_ENV=${NODE_ENV}
|
|
ENV PORT=${PORT}
|
|
|
|
# Crea directorio de trabajo
|
|
WORKDIR /app
|
|
|
|
# Copia solo archivos necesarios para prod
|
|
COPY package*.json ./
|
|
|
|
# Instala solo dependencias de producción
|
|
RUN npm install --omit=dev
|
|
|
|
# Copia el resto de la app
|
|
COPY . .
|
|
|
|
# Expone el puerto
|
|
EXPOSE ${PORT}
|
|
|
|
# Ejecutar el servidor con nodemon en desarrollo, o con node en producción
|
|
CMD ["npm", "start"]
|
|
|
|
# # Corre la app normalmente
|
|
# CMD ["node", "src/index.js"] |