Kigeuzi cha Bure

Dockerfile Jenereta ya Node.js

Tengeneza Dockerfiles zilizo tayari kwa uzalishaji kwa programu za Node.js. Inaauni Express, Next.js, NestJS, na zaidi kwa mbinu bora.

Mipangilio
Node.js
Express
Next.js
NestJS
Fastify
Vite
Uundaji wa hatua nyingi
Jumuisha .dockerignore
Ongeza HEALTHCHECK
Endesha kama mtumiaji asiye na mizizi
Dockerfile
# Stage 1: Dependencies
FROM node:20-alpine AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --only=production

# Stage 2: Builder
FROM node:20-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build

# Stage 3: Runner
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nodeuser
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package.json ./
USER nodeuser
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  CMD wget -qO- http://localhost:3000/health || exit 1
CMD ["npm", "start"]
.dockerignore
node_modules
npm-debug.log
yarn-debug.log
yarn-error.log
.pnpm-debug.log
.git
.gitignore
.env
.env.local
.env.development
.env.production
.env*.local
*.log
*.md
.DS_Store
.idea
.vscode
coverage
.nyc_output
dist
build
.next
out
.turbo
Dockerfile
.dockerignore
docker-compose*.yml
.github
tests
__tests__
*.test.js
*.test.ts
*.spec.js
*.spec.ts

Kuhusu zana hii

Unda na ubinafsishe yaliyomo na Jenereta ya Dockerfile moja kwa moja kwenye kivinjari chako. Sanidi mapendeleo yako, toa matokeo, na upakue au unakili matokeo. Kila kitu kinaendeshwa na mteja - data yako hukaa ya faragha na usindikaji ni wa papo hapo.

Jinsi ya kutumia

  1. Sanidi mipangilio na chaguo ili kuendana na mahitaji yako.
  2. Bofya Tengeneza ili kuunda towe lako.
  3. Angalia matokeo na ufanye marekebisho ikiwa inahitajika.
  4. Pakua faili ya towe au unakili kwenye ubao wako wa kunakili.

Maswali yanayoulizwa mara kwa mara

Je, ninaweza kubinafsisha pato linalozalishwa?
Ndiyo. Zana hutoa chaguo mbalimbali za kubinafsisha ili kurekebisha matokeo kulingana na mahitaji yako mahususi. Rekebisha mipangilio kabla ya kuzalisha, au uzae upya kwa chaguo tofauti.
Je, maudhui yaliyotolewa ni bure kutumia?
Ndiyo. Kila kitu unachozalisha kwa zana hii ni chako cha kutumia kwa madhumuni ya kibinafsi, ya kielimu au ya kibiashara bila vizuizi au mahitaji ya maelezo.
Je, hii inahitaji akaunti?
Hapana. Zana iko tayari kutumika mara moja bila kujisajili, hakuna barua pepe, na hakuna usajili. Fungua tu ukurasa na uanze kutengeneza.
Je, data yangu ya ingizo huwa ya faragha?
Ndiyo. Uchakataji wote hufanyika kwenye kivinjari chako. Data yako ya ingizo na matokeo yanayozalishwa haitumwi kwa seva yoyote ya nje.