Skip to main content
๐Ÿš€ nusa.id cloud server linux indonesialihat paket

Mengelola Log Docker untuk Debugging Kontainer

ยท 3 min read
Ilhamsyah
Maintainer

Container berjalan seperti kotak hitam โ€” Anda tidak bisa langsung melihat apa yang terjadi di dalamnya. Di sinilah docker logs berperan. Perintah ini mengeluarkan semua output stdout dan stderr dari container, tanpa perlu attach atau exec ke dalamnya.

Panduan ini cocok untuk pengguna Nusa Cloud VPS yang sudah menginstal Docker (lihat Instalasi Docker di Ubuntu) dan perlu melakukan debugging.

Prasyaratโ€‹

  • Server Nusa Cloud VPS dengan Docker Engine terinstal
  • Container yang sedang berjalan

Catatan: Perintah docker logs tersedia di semua versi Docker Engine. Tidak ada perbedaan sintaks signifikan antar versi โ€” panduan ini berlaku untuk Docker Engine 19.x ke atas.

1. Melihat Log Containerโ€‹

docker logs <container_id>

Cari container ID dengan:

docker container ls

Contoh output:

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                NAMES
ea45fa0f96ac nginx "/docker-entrypoint.โ€ฆ" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp web

Maka:

docker logs ea45fa0f96ac

Output menampilkan semua log dari container sejak pertama kali dijalankan.

2. Streaming Log Real-timeโ€‹

Gunakan flag -f atau --follow untuk melihat log secara langsung:

docker logs -f <container_id>

Berguna saat:

  • Memantau proses startup
  • Melihat request HTTP masuk ke web server
  • Debugging aplikasi yang sedang aktif

Tekan Ctrl + C untuk berhenti.

3. Filter Log Berdasarkan Waktuโ€‹

Lihat N Baris Terakhirโ€‹

docker logs --tail 50 <container_id>

Hanya menampilkan 50 baris terakhir โ€” ideal saat log sudah sangat panjang.

Log Sejak Waktu Tertentuโ€‹

docker logs --since="2026-06-06T10:00:00" <container_id>

Bisa pakai format relatif:

docker logs --since 30m <container_id>

Log Sampai Waktu Tertentuโ€‹

docker logs --until="2026-06-06T12:00:00" <container_id>

Kombinasi Filterโ€‹

docker logs --since 2h --until 1h --tail 100 <container_id>

4. Tambahkan Timestampโ€‹

docker logs --timestamps <container_id>

Setiap baris log akan diberi prefix timestamp ISO 8601. Sangat membantu saat mencocokkan log dengan kejadian di sistem.

5. Membaca Log dari Container Tertentuโ€‹

Gunakan nama container sebagai alternatif ID:

docker logs --tail 20 web

Cara ini lebih mudah diingat dibanding menghafal container ID.

6. Log Driver dan Konfigurasi Lanjutanโ€‹

Secara default, Docker menggunakan json-file logging driver. Log disimpan di /var/lib/docker/containers/<id>/<id>-json.log.

Untuk membatasi ukuran log agar tidak memenuhi disk:

{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}

Konfigurasi di atas membatasi setiap file log maksimal 10 MB dan menyimpan maksimal 3 file rotasi. Terapkan lewat file /etc/docker/daemon.json, lalu restart Docker:

sudo systemctl restart docker

โš ๏ธ Warning: Restart Docker akan menghentikan semua container yang sedang berjalan.

Verifikasiโ€‹

# Cek container ID
docker container ls

# Lihat 10 baris terakhir
docker logs --tail 10 <container_id>

# Pastikan tidak ada error
echo $?

Jika output 0, perintah berhasil.

Kesimpulanโ€‹

docker logs adalah tools diagnostik utama untuk container. Kuasai flag --tail, --since, --until, dan --follow โ€” ini mencakup 90% kebutuhan debugging sehari-hari.

Butuh Bantuan?โ€‹

Tiket Bantuan