Files
ap_pos/ap-pos/Dockerfile
2025-08-13 17:30:49 -06:00

30 lines
625 B
Docker

# 1. Imagen base: Node.js 18 en Alpine (ligera)
FROM node:18-alpine
# 2. Variable de entorno para producción
ENV NODE_ENV=production
# 3. Directorio de trabajo
WORKDIR /app
# 4. Copiar dependencias primero para aprovechar caché
COPY package*.json ./
# 5. Instalar dependencias de producción y limpiar caché
RUN npm ci --omit=dev && npm cache clean --force
# 6. Copiar el resto de la aplicación
COPY . .
# 7. Crear usuario no root y darle permisos
RUN addgroup -S app && adduser -S app -G app \
&& chown -R app:app /app
USER app
# 8. Exponer el puerto
EXPOSE 3000
# 9. Comando de inicio
CMD ["npm", "start"]