Dockerfile Basics
Dockerfile, EK, PLAIN, TEXT, FILE, hai, JISME, INSTRUCTIONS, ki, EK, SERIES, hoti, hai — HAR, LINE, EK, COMMAND, se, SHURU, hoti, hai, jaise, FROM, RUN, COPY, CMD, waghera.
SABSE, PEHLI, INSTRUCTION, HAMESHA, FROM, hoti, hai — YE, BASE, IMAGE, DEFINE, karti, hai, JISKE, UPAR, TUMHARI, IMAGE, BANEGI, (jaise, node, python, ya, ubuntu, jaisi, BASE, IMAGES).
# Sabse simple Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]- Dockerfile = plain text instructions jo image build karti hain
- FROM instruction hamesha sabse pehli line hoti hai (base image)
- Har instruction (FROM, RUN, COPY, CMD) ek naya step add karti hai
"alpine" VARIANTS, (jaise, node:20-alpine) MUCH, SMALLER, HOTE, HAIN, (5-10MB, vs, 900MB+) kyunki, YE, minimal, Alpine, Linux, PAR, based, HAIN — LEKIN, KUCH, NATIVE, packages, Alpine, ke, "musl" libc, ke, saath, COMPATIBILITY, ISSUES, DE, sakte, HAIN.
Dockerfile, mein, "#" se, SHURU, hone, waali, LINES, COMMENTS, hoti, HAIN. READABILITY, ke, liye, HAR, MAJOR, section, ko, COMMENT, se, LABEL, karna, aur, INSTRUCTIONS, ko, LOGICAL, ORDER, (dependencies, phir, code, phir, config) mein, RAKHNA, GOOD, PRACTICE, maana, jaata hai.
# Base image
FROM node:20-alpine
# Dependencies install karo (rarely changes)
COPY package*.json ./
RUN npm ci
# App code copy karo (frequently changes)
COPY . .