CODEBOOK
Website Platform Belajar Dan Edukasi
By Shadownex 2025-2026
Materi/Docker & Deployment
Web Development

Docker & Deployment

Containerize aplikasi dengan Docker dan deploy ke VPS.

Status Membaca:Belum Dibaca

Daftar Bab (2)

Bab 1 dari 2

Pengenalan Docker

Pengenalan Docker

Docker adalah platform untuk mengemas, mendistribusikan, dan menjalankan aplikasi dalam container.

Apa itu Container?

Container adalah unit standar software yang mengemas kode dan semua dependensinya, sehingga aplikasi berjalan konsisten di environment manapun.

┌─────────────────────────────────────┐
│           Host OS (Linux)            │
├──────────────┬──────────────────────┤
│  Container A │    Container B       │
│  Node.js App │    Python App        │
│  + deps      │    + deps            │
└──────────────┴──────────────────────┘

Docker vs VM

Docker
Virtual Machine

|--|--------|-----------------|

Boot time
Detik
Menit
Size
MB
GB
Performance
Native
Overhead
Isolation
Process
Full OS

Perintah Docker Dasar

# Pull image dari Docker Hub
docker pull node:18-alpine

# Lihat image yang ada
docker images

# Jalankan container
docker run -p 3000:3000 nama-image

# Lihat container yang berjalan
docker ps

# Stop container
docker stop container-id

# Remove container
docker rm container-id

# Lihat logs
docker logs container-id

Dockerfile

# Base image
FROM node:18-alpine

# Working directory
WORKDIR /app

# Copy package files
COPY package*.json ./

# Install dependencies
RUN npm install --production

# Copy source code
COPY . .

# Build (untuk Next.js)
RUN npm run build

# Expose port
EXPOSE 3000

# Jalankan aplikasi
CMD ["npm", "start"]

Build & Run

# Build image
docker build -t codebook-app .

# Jalankan dengan environment variables
docker run -p 3000:3000 \
  -e MONGODB_URI=... \
  -e JWT_SECRET=... \
  codebook-app