- Published on
Docker Series — Episode 3: Build Image dari Dockerfile
- Authors

- Name
- Chalvin Wiradhika
Episode 3 — Build Image dari Dockerfile 🏗️
Pada episode ini kita membahas proses membangun image sendiri menggunakan Dockerfile. Topik ini merupakan fondasi utama dalam workflow container‑based deployment.
🔹 Apa Itu Dockerfile
Dockerfile adalah file teks yang berisi instruksi langkah‑demi‑langkah untuk membangun image.
Secara umum, di dalam Dockerfile berisi:
- base image yang digunakan
- dependency yang diinstall
- file aplikasi yang disalin
- perintah yang dijalankan saat container start
Contoh struktur sederhana:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
🔹 Penjelasan Instruksi Dasar
FROM
Menentukan base image.
Base image umum:
- alpine
- debian
- ubuntu
- node, golang, python, dll
WORKDIR
Menentukan direktori kerja di dalam container.
COPY
Menyalin file dari host ke dalam image.
RUN
Menjalankan perintah saat proses build image.
Biasanya digunakan untuk:
- install dependency
- konfigurasi paket
EXPOSE
Mendokumentasikan port aplikasi.
CMD
Menentukan perintah yang dijalankan ketika container start.
Berbeda dengan
RUNyang dieksekusi saat build.
🔹 Build Image dari Dockerfile
Jalankan perintah berikut dari direktori project:
docker build -t myapp:1.0 .
Parameter penting:
-t→ memberi nama + tag image.→ context build (folder aktif)
Melihat hasil image:
docker images
🔹 Menjalankan Image Hasil Build
docker run -d --name myapp-container -p 3000:3000 myapp:1.0
Cek log container:
docker logs -f myapp-container
🔹 Mengurangi Ukuran Image (Best Practice)
Beberapa guideline umum:
✔ gunakan base image minimal (yang ukurannya kecil)
✔ gabungkan beberapa instruksi dalam satu RUN
✔ hapus cache package manager setelah install
Contoh:
RUN apk add --no-cache curl bash
✔ gunakan .dockerignore (mirip .gitignore) untuk menghindari file yang ngga diperluin, contohnya:
- node_modules
- build cache
🔹 Contoh Dockerfile untuk Aplikasi Go
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o app
FROM alpine
WORKDIR /app
COPY /app/app .
CMD ["./app"]
Teknik ini disebut multi‑stage build dan berguna untuk menghasilkan image yang lebih kecil.
📌 Ringkasan Konsep Utama
Pada episode ini kamu telah mempelajari:
- konsep Dockerfile
- instruksi dasar Dockerfile
- proses build image
- menjalankan container dari image hasil build
- best practice pengurangan ukuran image
Pada episode berikutnya kita masuk ke topik berikut:
👉 Docker Compose untuk aplikasi multi‑service