Masalah: “Saya sudah edit file .md, tapi kok di web tetap lama?”

Pernahkah Anda mengedit file artikel blog langsung di server, namun saat membuka website, perubahannya tidak muncul? Banyak yang mengira ini adalah masalah cache browser, padahal sebenarnya ini adalah karakteristik dasar dari Docker Image.

1. Konsep Docker: “Build Once, Run Anywhere”

Saat kita menjalankan perintah docker compose up --build, Docker melakukan langkah berikut:

  • Membaca Dockerfile.
  • Menjalankan perintah COPY . ..
  • Melakukan npm run build (untuk aplikasi Astro).

Pada tahap ini, semua file Anda disalin (copy) ke dalam sebuah Image statis. Setelah container berjalan, dia hanya akan membaca file yang ada di dalam Image tersebut, bukan file asli yang Anda edit di folder VPS.

2. Kenapa Tidak Pakai ‘Live Sync’ (Volumes)?

Mungkin Anda berpikir, “Kenapa tidak disambungkan saja foldernya?”. Dalam pengembangan (development), kita sering memakai Volumes untuk live sync. Namun, untuk aplikasi Astro di server produksi:

  1. Astro adalah Static/SSR Site: Dia perlu proses build untuk mengubah Markdown menjadi HTML/JS yang sangat cepat.
  2. Keamanan: Menjalankan build di dalam container memastikan lingkungan server Anda tetap bersih dan terisolasi.

3. Solusi: Cara Melakukan Update Konten

Setiap kali Anda selesai mengedit file Markdown (.md) atau melakukan perubahan kode, Anda harus memberitahu Docker untuk membangun ulang (rebuild) aplikasi Anda.

Jalankan perintah ini di terminal VPS:

# Membangun ulang image dan menjalankan ulang container di background
docker compose up -d --build

Docker cukup cerdas. Dia hanya akan membangun ulang bagian yang berubah saja (menggunakan cache layer), sehingga prosesnya biasanya jauh lebih cepat daripada saat pertama kali dijalankan.

Tips Pro: Otomatisasi dengan Git

Jika Anda ingin lebih praktis, Anda bisa menggunakan GitHub Actions atau Git Hooks. Jadi, setiap kali Anda melakukan git push, server Anda akan otomatis menarik kode terbaru (git pull) dan menjalankan perintah rebuild di atas.


Tutorial ini membantu Anda memahami alur kerja DevOps yang benar agar website tetap cepat dan aman.