Skip to main content
Setelah menguasai dasar-dasar siklus hidup container, langkah berikutnya adalah mempelajari teknik optimasi produksi, pemecahan masalah (troubleshooting mendalam), dan kontrol performa container.

1. Interaksi & Eksekusi di Dalam Container (docker exec)

Jika ingin masuk ke dalam terminal container yang sedang aktif untuk memeriksa file konfigurasi atau mengecek status proses:

Menyalin Berkas Antara Host dan Container (docker cp)


2. Inspeksi Mendalam (docker inspect)

docker inspect menampilkan seluruh metadata internal sebuah objek (Container, Image, Volume, atau Network) dalam format JSON terstruktur.

3. Monitoring Penggunaan Sumber Daya (docker stats & top)

Memantau seberapa banyak CPU dan RAM yang dikonsumsi oleh container secara live:

4. Multi-Stage Build di Dockerfile

Dalam tahap produksi (production), kita tidak ingin menyertakan compiler, pustaka dev, atau source code mentah ke dalam image final karena membuat ukuran image menjadi raksasa dan rentan keamanan. Solusinya adalah teknik Multi-Stage Build. Contoh untuk aplikasi Golang / Node.js:
Hasil: Ukuran image yang semula bisa mencapai ratusan MB terpangkas menjadi hanya belasan MB!

5. Batasan Sumber Daya (Resource Limits: CPU & Memory)

Untuk mencegah salah satu container menghabiskan seluruh memori atau prosesor server (kondisi OOM - Out of Memory):
Di dalam berkas docker-compose.yml:

6. Healthcheck Container

Container yang statusnya Up belum tentu aplikasinya siap menerima traffic (misal aplikasi web sedang mengalami crash internal/deadlock). Fitur HEALTHCHECK memungkinkan Docker mengecek kesehatan aplikasi secara berkala. Contoh di Dockerfile:
Atau di docker-compose.yml:

7. Pembersihan Menyeluruh (docker system prune)

Seiring berjalannya waktu, build cache, image usang (dangling images), dan container yang mati akan memakan kapasitas penyimpanan disk server secara drastis.
Last modified on October 26, 2026