Dockerfile & Images — DevOps

Membuat Docker Image dengan Dockerfile Dockerfile adalah file teks berisi instruksi step-by-step untuk membuat Docker image. Setiap instruksi membuat layer…

Membuat Docker Image dengan Dockerfile

Dockerfile adalah file teks berisi instruksi step-by-step untuk membuat Docker image. Setiap instruksi membuat layer baru di image.

Contoh Dockerfile untuk Node.js

# Base image
FROM node:20-alpine

# Set working directory di dalam container
WORKDIR /app

# Copy package files dulu (untuk cache layer)
COPY package*.json ./

# Install dependencies
RUN npm ci --production

# Copy source code
COPY . .

# Expose port
EXPOSE 3000

# Command saat container start
CMD ["node", "server.js"]

Instruksi Dockerfile Penting

Build & Run

# Build image
docker build -t my-app:latest .

# Build dengan build argument
docker build --build-arg NODE_ENV=production -t my-app:prod .

# Run container dari image
docker run -d -p 3000:3000 my-app:latest

.dockerignore

node_modules
.git
.env
*.log
Dockerfile
.dockerignore

Multi-stage Build

# Stage 1: Build
FROM node:20 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# Stage 2: Production
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
CMD ["node", "dist/server.js"]

Yang akan kamu pelajari