🚫
Dockerfile Deep Dive

.dockerignore, ENV & ARG

Build Optimization
💡 .dockerignore, EK, "DO, NOT, PACK" LIST, jaisi, hai — JAISE, GHAR, SHIFT, karte, waqt, TUM, KUCH, CHEEZEIN, (purana, kachra) LE, jaane, ki, LIST, mein, NAHI, RAKHTE, WAISE, hi, .dockerignore, mein, LIKHI, FILES, BUILD, CONTEXT, mein, NAHI, JAATI.

.dockerignore, FILE, mein, node_modules, .git, .env, jaisi, FILES/FOLDERS, LIST, ki, jaati, HAIN, JO, IMAGE, BUILD, ke, waqt, DAEMON, ko, SEND, hi, NAHI, ki, jaati — ISSE, BUILD, FASTER, hota hai, aur, IMAGE, ACCIDENTALLY, SENSITIVE, DATA, (jaise, .env, files) INCLUDE, nahi, karti.

ENV, aur, ARG, DONO, VARIABLES, DEFINE, karte, HAIN, LEKIN, DIFFERENT, SCOPE, mein: ARG, sirf, BUILD, TIME, par, available, hota hai, (RUNTIME, container, mein, NAHI, DIKHTA), JABKI, ENV, BUILD, aur, RUNTIME, DONO, mein, available, rehta, hai.

# .dockerignore
node_modules
.git
.env
*.log

# Dockerfile mein ARG aur ENV
ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine
ENV NODE_ENV=production
ENV PORT=3000
CMD ["node", "server.js"]
🚫
.dockerignore, EK, "DO, NOT, PACK" LIST, jaisi, hai — JAISE, GHAR, SHIFT, karte, waqt, TUM, KUCH, CHEEZEIN, (purana, kachra) LE, jaane, ki, LIST, mein, NAHI, RAKHTE, WAISE, hi, .dockerignore, mein, LIKHI, FILES, BUILD, CONTEXT, mein, NAHI, JAATI.
1 / 2
⚡ Quick Recap
  • .dockerignore se unnecessary/sensitive files build context se bahar rehti hain
  • ARG = sirf build-time available, ENV = build + runtime dono mein available
  • --build-arg se ARG values command line se override ki ja sakti hain
On this page (2 subtopics)

.dockerignore, GLOB, PATTERNS, SUPPORT, karta hai — "**/*.log" (HAR, SUBDIRECTORY, mein, .log, files), "!important.log" (EXCLUDE, ke, BAAD, EK, SPECIFIC, FILE, ko, WAAPAS, INCLUDE, karna), aur, "temp/" (POORA, folder, ignore).

node_modules
**/*.log
!keep-this.log
.git
dist/
*.md

ARG, ko, EK, DEFAULT, VALUE, DI, ja, sakti, hai, JO, USE, hoti, hai, agar, BUILD, TIME, PAR, KOI, VALUE, na, di, jaaye — "ARG NODE_VERSION=20" jaisa.

ARG NODE_VERSION=20
FROM node:${NODE_VERSION}-alpine
# Override: docker build --build-arg NODE_VERSION=18 .