diskon 50% semua paket, waktu terbatas. Mulai dari $2.48/mo
9 menit tersisa
Alat Developer & DevOps

Panduan Mudah Logs Docker Compose: Cara Memeriksa dan Mengelolanya

Ada Lovegood By Ada Lovegood 9 menit membaca Diperbarui 23 Feb 2025
log docker

Ingin tahu apa yang dilakukan aplikasi Docker di balik layar? Mari pelajari lebih lanjut tentang jendela tersembunyi yang dikenal sebagai log, yaitu catatan di dalam container Anda yang merekam setiap aktivitas yang terjadi. Log sangat berguna untuk memecahkan masalah. Namun sebelum kita mulai, mari kita lihat sekilas apa itu Docker dan Docker Compose.

Docker memungkinkan Anda mengemas aplikasi ke dalam container kecil dan menjalankannya di hampir semua sistem operasi tanpa perlu menginstal dependensi tambahan. Bayangkan seperti memasukkan aplikasi ke dalam kotak bernama Container, yang berjalan dengan cara yang sama di mana saja. Memahami konsep container adalah prasyarat penting sebelum mempelajari Docker Compose. Karena itu, saya sarankan Anda membaca artikel blog kami tentang manfaat containerisasi.

Docker Compose hadir bersama Docker dan mempermudah pengembangan beberapa aplikasi berbasis container dengan menghubungkan service, jaringan, dan penyimpanan mereka. Log container Docker dan logging Docker Compose membantu developer melihat apa yang dilakukan setiap container.

Ingin tahu lebih banyak tentang Docker Compose Logs? Anda berada di tempat yang tepat. Blog ini akan menjelaskan dasar-dasar log Docker Compose sekaligus membahas detail yang lebih lanjut. Pelajari cara memanfaatkan Docker Compose secara maksimal untuk proyek Anda.

Pentingnya Log Docker Compose

Bayangkan seorang developer meluncurkan aplikasi dengan Docker tetapi melewatkan konfigurasi log Docker. Awalnya semua terlihat baik-baik saja. Namun tak lama kemudian, pengguna menemukan error dan aplikasi mulai melambat. Tanpa log Docker, developer tidak bisa melihat apa yang salah di dalam container Docker. Log Docker Compose ibarat catatan rinci dari container-container tersebut. Mereka merekam setiap detail yang terjadi, yang sangat penting untuk menemukan dan memperbaiki masalah di kemudian hari.

Sebagai Developer atau System Admin, Anda perlu memahami apa yang terjadi di dalam dan antar aplikasi multi-chain. Di sinilah log Docker Compose berperan sebagai alat yang sangat berguna. Lalu, mengapa log ini begitu penting?

  • Pemecahan Masalah dan Debugging

Periksa docker logs ketika aplikasi tidak berjalan dengan benar atau mengalami error. Log Docker adalah sumber pertama yang bisa Anda lihat untuk menelusuri masalah. Dengan memeriksa docker logs, developer dapat mengidentifikasi akar penyebab masalah, baik itu bug dalam kode, kesalahan konfigurasi, maupun masalah resource.

  • Memantau Kesehatan Aplikasi

Memantau log aplikasi secara rutin membantu memahami kondisi keseluruhan service. Log dapat menampilkan tanda-tanda peringatan dini, seperti error yang berulang dan respons yang lambat. Mendeteksi pola-pola ini lebih awal dapat mencegah masalah yang lebih besar di masa mendatang.

  • Audit dan Kepatuhan

Untuk aplikasi yang harus memenuhi standar tertentu, docker logs adalah bukti pertama yang menunjukkan apakah aplikasi mematuhi pedoman yang berlaku. Log ini juga berperan penting dalam memantau aktivitas yang diizinkan maupun yang tidak diizinkan.

  • Optimasi

Log adalah sumber daya berharga untuk optimasi perangkat lunak karena menyediakan data performa. Misalnya, developer dapat mengidentifikasi query yang lambat, alur kode yang tidak efisien, atau resource yang kurang dimanfaatkan.

Membuat Recipe Docker: Deploy Web Server

Di bagian ini, kita akan membuat recipe Docker bersama-sama. Pertama, kita perlu membangun sesuatu sebagai titik awal perjalanan dengan Docker Compose logs. Mari deploy sebuah web server untuk tujuan ini. Untuk membuat Dockerfile, cukup jalankan nano Dockerfile di folder yang diinginkan pada VPS Anda dengan isi berikut, lalu simpan:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Lalu, apa fungsi setiap baris kode ini?

  • Kita mulai dengan base image yang ringan, nginx:alpine.
  • Selanjutnya, kita hapus halaman selamat datang default Nginx.
  • Kemudian, kita pastikan web server mendengarkan pada port 80.
  • Terakhir, kita jalankan server Nginx dengan CMD.

Sekarang file Docker kita sudah siap, kita lanjut ke langkah berikutnya, yaitu membuat file Docker Compose. Berikut struktur dari docker-compose.yml berkas:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Mari kita bahas satu per satu secara menyeluruh:

  • Kami menggunakan versi 3.8.
  • Pada baris berikutnya, kita beri nama layanan kita ""web“.
  • Selanjutnya, kita instruksikan Docker untuk membangun web server dari folder saat ini.
  • Kami menghubungkan port 8080 di host ke port 80 di dalam container agar web server dapat menerima koneksi.
  • Terakhir, konfigurasi volumes melakukan pemetaan index.html dari disk host ke dalam container. Setelah itu, Anda bisa membuat sebuah index.html file dengan konten apa pun yang Anda inginkan, lalu letakkan di tempat yang Dockerfile dan docker-compose.yml file sudah ada.

Sekarang saatnya menjalankan container Docker kita menggunakan Docker Compose. Cukup jalankan docker-compose up.

jalankan container Docker dengan Docker Compose

Setelah Anda menjalankan perintah docker-compose up perintah, Docker akan mengunduh image yang diperlukan dari internet dan mengonfigurasinya sesuai dengan file konfigurasi kita.

Untuk memastikan web server sudah berjalan, buka browser, ketik alamat IP VPS, lalu akses port 8080.

halaman web dalam container Docker

Sebagai catatan tambahan, Anda bisa menggunakan docker-compose up -d untuk menjalankan container di latar belakang.

Mengakses Log dengan Docker Compose

Sekarang, web server kita sudah siap dan berjalan. Server ini sudah mulai menghasilkan log dan menyimpan informasi tersebut untuk keperluan selanjutnya. Mengakses log Docker Compose sangat penting untuk pemecahan masalah dan pemantauan. Tapi bagaimana cara membacanya? Di sinilah log docker-compose sangat berguna. Pastikan Anda berada di folder tempat konfigurasi tersimpan, lalu jalankan perintah tersebut.

Mengakses Log dengan Docker Compose

Terkadang, kamu mungkin ingin melihat log secara langsung saat log tersebut sedang dibuat. Cukup tambahkan -f di akhir perintah sebelumnya dan jalankan docker-compose logs -f.

Mengakses Log dengan Docker Compose

Beberapa aplikasi berbasis Docker mungkin tidak menyertakan timestamp di log mereka. Untuk itu, Anda bisa menggunakan docker-compose logs -t untuk menambahkan waktu yang tercatat pada setiap baris log.

Mengakses Log dengan Docker Compose

Docker Logs juga dapat menampilkan entri terbaru. Untuk melakukan ini, gunakan docker-compose logs –tail 10 untuk melihat 10 entri log terakhir. Docker composes logs tail, dan begitu pula docker logs tail sangat berguna ketika kamu ingin memeriksa aktivitas terkini dengan cepat tanpa harus menggulir seluruh riwayat log.

mengakses log dengan docker compose

Tujuan utama penggunaan Docker Compose adalah membuat aplikasi multi-container. Oleh karena itu, kamu mungkin perlu membaca log tertentu untuk layanan yang diinginkan. Untuk melakukannya, gunakan docker-compose logs -f SERVICE, mengingat untuk mengganti SERVICE dengan nama layanan aktualmu.

mengakses log dengan docker

Pencatatan Docker

Ekosistem Docker bisa menjadi lebih kompleks untuk aplikasi yang terkonvergensi, terutama di lingkungan berskala besar. Seperti yang sudah kita ketahui, setiap container menghasilkan log. Oleh karena itu, mekanisme yang dikenal sebagai Logging Driver bertanggung jawab untuk menerima, mengirimkan, dan menyimpan log. Secara default, Docker menggunakan file JSON untuk Logging Driver, tetapi juga mendukung berbagai driver lain, masing-masing dengan kelebihan dan kekurangannya.

Semua pihak sepakat bahwa log sangat penting dalam berbagai aspek, termasuk pemecahan masalah dan peningkatan performa sistem. Di bawah ini, kita akan membahas dua aspek utama penggunaan log container:

  • Pemantauan: Tujuan utama log adalah pemantauan. Log umumnya mencerminkan kondisi keseluruhan aplikasi yang berjalan di container.
  • Pemecahan Masalah: Ketika terjadi masalah, log membantu kita mendeteksi gangguan pada aplikasi.

Karena docker logs dan docker compose logs terus-menerus dibuat, keduanya dapat memenuhi seluruh penyimpanan VPS. Oleh karena itu, kita memerlukan strategi pengelolaan ruang disk yang disebut Log Rotation Policy. Untuk membuat dan menggunakan kebijakan ini, kembali ke docker-compose.yml file dan buka. Kemudian, tambahkan bagian logging dengan konfigurasi berikut:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

Kamu dapat menyesuaikan max-size dan max-file sesuai kebutuhanmu.

Model Pengiriman Log Docker

Di lingkungan yang lebih kompleks, engineer mungkin memilih model logging selain driver JSON default, seperti Syslog, fluentd, dan lainnya. Namun, penting untuk diingat bahwa driver JSON-file cocok untuk sebagian besar skenario logging, dan mungkin tidak ada kebutuhan untuk beralih dari mode default.

Bergantung pada arsitektur aplikasi atau kebutuhan organisasi, kamu mungkin perlu menggunakan solusi logging terpusat yang dikenal sebagai Log Aggregator. Layanan-layanan ini, termasuk Elasticsearch, Logstash, Kibana, dan lainnya, dirancang untuk menerima log dari berbagai sumber, lalu mengkonsolidasikan, menyimpan, dan menganalisisnya dalam satu lokasi terpusat.

Selain itu, kamu sebaiknya menyimpan log menggunakan solusi penyimpanan yang lebih hemat biaya. Pertimbangkan skenario di mana VPS menggunakan penyimpanan berkecepatan tinggi dan mahal. Menggunakan sumber daya premium seperti itu hanya untuk menyimpan log yang mungkin hanya kamu butuhkan sebagai referensi di masa mendatang tentu tidak efisien secara biaya.

Ada banyak model logging yang tersedia, masing-masing dengan kelebihan dan kekurangannya. Mengevaluasi setiap model dengan cermat dan memilih yang paling sesuai dengan kebutuhan spesifikmu adalah hal yang penting.

Hosting Linux VPS

Dapatkan Linux VPS paket ekonomi atau premium untuk kebutuhan hosting website atau remote desktop, dengan harga paling terjangkau. VPS berjalan di atas Linux KVM untuk efisiensi lebih tinggi, didukung hardware bertenaga dengan penyimpanan NVMe SSD untuk kecepatan optimal.

Baca Selengkapnya

Kesimpulan

Memahami Docker Compose logs adalah hal yang krusial. Log ini membantu mengelola dan men-debug aplikasi Docker dengan baik. Mempelajari cara mengakses dan memantau log ini meningkatkan kemampuan pemecahan masalah serta performa dan keamanan aplikasimu. Baik saat pengembangan maupun administrasi sistem, penggunaan Docker Compose logs sangat diperlukan untuk memastikan manajemen container berjalan efektif.

Pertanyaan yang Sering Diajukan

Bagaimana cara memfilter log Docker Compose berdasarkan waktu?

Docker Compose tidak menyediakan metode langsung untuk memfilter log berdasarkan waktu. Namun, kamu dapat memfilter log dengan menyalurkannya melalui grep untuk pencocokan pola. Misalnya, gunakan: docker-compose logs | grep "2023-04-06", ganti "2023-04-06" dengan tanggal atau pola waktu spesifik yang kamu cari.

Bagaimana cara menghentikan container yang dijalankan dengan Docker Compose?

Navigasikan ke direktori yang berisi file docker-compose.yml dan jalankan perintah docker-compose down.

Bagaimana cara menghapus file log secara manual?

Sebagai alternatif dari mengonfigurasi log rotation di file docker-compose.yml, kamu dapat menghapus file log Docker JSON secara manual dari /var/lib/docker/containers/<container_id>/. Sebelum melakukannya, identifikasi terlebih dahulu ID container Docker dengan docker ps -a.

Bisakah saya memantau log Docker secara real-time? 

Ya, bisa. Caranya gunakan perintah docker logs dengan opsi -f atau --follow. Perintah ini akan menampilkan log Docker secara langsung.

Bagikan

Artikel lainnya dari blog

Terus baca.

Wadah logam yang dilindungi kubah wireframe cyan neon bercahaya, menampilkan judul artikel dan logo Cloudzy dengan latar belakang biru gelap.
Alat Developer & DevOps

Kesalahan Keamanan Docker Teratas yang Harus Dihindari di 2026

Kamu bisa menjalankan Docker di production selama berbulan-bulan tanpa masalah yang terlihat. Container berjalan, aplikasi merespons, tidak ada yang rusak. Lalu satu port yang terbuka atau satu permission yang salah konfigurasi menciptakan

Rexa CyrusRexa Cyrus Membaca 15 menit
Struktur kubus biru bercahaya 3D yang merepresentasikan container Docker, bersama teks 'Portainer vs Yacht: Which Docker UI Should You Choose' dan logo Cloudzy.
Alat Developer & DevOps

Portainer vs Yacht: UI Docker Mana yang Harus Kamu Pilih di 2026?

Mengelola container Docker melalui CLI efektif untuk setup sederhana, tetapi tidak bertahan baik saat skala bertambah. Seiring bertambahnya jumlah container, memantau status, log, dan pembaruan secara manual menjadi rawan kesalahan

Rexa CyrusRexa Cyrus Baca dalam 13 menit
Alat Continuous Integration
Alat Developer & DevOps

CI/CD Tools Terbaik untuk Mengoptimalkan Alur Kerja DevOps di 2026

Dunia pengembangan perangkat lunak terus berkembang dengan cepat. Jika kamu tidak ingin tertinggal, sudah saatnya mengadopsi metodologi DevOps dan Agile.

Ada LovegoodAda Lovegood 11 menit baca

Siap untuk di-deploy? Mulai dari $2.48/bulan.

Cloud independen, sejak 2008. AMD EPYC, NVMe, 40 Gbps. Garansi uang kembali 14 hari.