Docker memang bikin hidup developer lebih mudah, asal tahu cara ngeceknya! Kalau tiba-tiba aplikasi dalam container nggak jalan, atau malah container mati diam-diam tanpa pamit, gimana cara nyari tahu penyebabnya?
Jawabannya adalah: Lihat status dan logs container!
Di artikel ini, kita bakal bahas dua perintah penting yang akan bikin hidupmu lebih tenang saat debugging:
docker ps
&docker inspect
– Buat ngecek status container, masih hidup atau udah almarhum.docker logs
– Buat melihat apa yang terjadi di dalam container, biar nggak tebak-tebakan.
Siap? Ayo kita selami dunia logs dan status container dengan gaya santai, tapi tetap profesional!
1. Melihat Status Container: docker ps
dan docker inspect
Kalau kamu curiga ada sesuatu yang aneh di container, langkah pertama adalah cek statusnya:
docker ps
Apa yang terjadi?
Perintah ini bakal menampilkan daftar container yang sedang berjalan, seperti ini:
CONTAINER ID IMAGE STATUS PORTS NAMES
8f3a2b6d5c1a nginx Up 10 minutes 0.0.0.0:8080->80/tcp web_server
b9d2f8c7e3f2 redis Up 5 minutes 0.0.0.0:6379->6379/tcp cache_service
Kalau container nggak muncul, coba cek semua container termasuk yang sudah mati dengan:
docker ps -a
Kalau container statusnya "Exited", berarti dia mati. Kasihan.
Mau cek detail statusnya?
Gunakan perintah:
docker inspect <CONTAINER_ID>
Misalnya:
docker inspect web_server
Ini akan menampilkan info lengkap container, termasuk konfigurasi, status jaringan, dan penyebab kenapa dia berhenti.
2. Melihat Logs Container: docker logs
Kalau container mati atau ada error, logs adalah sahabat terbaikmu!
docker logs <CONTAINER_ID>
Misalnya:
docker logs web_server
Apa yang terjadi?
Docker akan menampilkan semua output yang terjadi di dalam container, kayak ini:
Starting Nginx...
Error: Port 80 is already in use!
Oh, jadi itu penyebabnya! Port 80 ternyata sudah dipakai, jadi container nggak bisa jalan.
Biar lebih gampang membaca logs:
-
Melihat logs terbaru saja:
docker logs --tail 10 web_server
Ini bakal menampilkan 10 baris terakhir logs.
-
Melihat logs secara real-time (live streaming mode! ):
docker logs -f web_server
Ini akan menampilkan logs secara langsung saat container berjalan. Cocok buat debugging!
3. Contoh Masalah dan Solusinya
Kasus 1: Container Tiba-Tiba Mati Setelah Dijalankan
Cek status container:
docker ps -a
Hasil:
CONTAINER ID IMAGE STATUS NAMES
7a9c8d6e5f4b nginx Exited (1) 2 minutes ago web_server
Solusi: Cek logs untuk tahu penyebabnya:
docker logs web_server
Hasil logs:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Oalah! Port 80 sudah dipakai oleh aplikasi lain. Solusinya? Jalankan container di port lain:
docker run -d -p 8080:80 nginx
Kasus 2: Aplikasi di Dalam Container Error, Tapi Nggak Tahu Kenapa
Cek logs dengan live streaming biar bisa lihat error secara langsung:
docker logs -f app_container
Hasil logs:
Database connection failed: Host not found
Solusi:
Cek apakah container database-nya jalan:
docker ps
Kalau database nggak jalan, start dulu:
docker start database_container
Kasus 3: Container Masih Jalan, Tapi Nggak Bisa Diakses
Cek status container dengan:
docker inspect web_server
Hasil:
"State": {
"Status": "running",
"Running": true,
}
Artinya container hidup, tapi kenapa nggak bisa diakses? Coba cek port binding:
docker ps
Hasil:
CONTAINER ID IMAGE PORTS
8f3a2b6d5c1a nginx 0.0.0.0:80->80/tcp
Ternyata container jalan di port 80, bukan 8080! Solusinya:
docker run -d -p 8080:80 nginx
4. Kesimpulan: Logs Itu Penyelamat Hidup di Docker!
Ringkasan Cepat:
Cek container yang berjalan: docker ps
Lihat semua container (termasuk yang mati): docker ps -a
Cek status detail container: docker inspect <CONTAINER_ID>
Lihat logs container: docker logs <CONTAINER_ID>
Lihat logs secara real-time: docker logs -f <CONTAINER_ID>
Menampilkan hanya beberapa baris logs terakhir: docker logs --tail 10 <CONTAINER_ID>
Kalau ngerti cara cek logs dan status container, hidup sebagai developer jadi lebih damai dan nggak gampang stres!
0 Comments