Multi-stage: FROM node:20-alpine AS builder. WORKDIR /app. COPY package*.json ./. RUN npm ci. COPY . .. RUN npm run build. FROM node:20-alpine AS production. WORKDIR /app. COPY --from=builder /app/dist ./dist. COPY --from=builder /app/node_modules ./node_modules. COPY package.json .. USER node. EXPOSE 3000. CMD ["node", "dist/index.js"]. Важно: non-root user (USER node), alpine для маленького образа, .dockerignore чтобы не копировать node_modules и .git, production только production зависимости (npm ci --only=production).
Как написать Dockerfile для Node.js приложения?
Middle
367 просмотровAFK Offer AI
Реализуй функцию promisify — конвертирует callback функцию в Promise