Press ESC to close

Troubleshooting Error Container di Docker

WhatsAppTelegramFacebookXThreadsCopy Link

Pernah merasa frustrasi ketika container Docker tiba-tiba gagal berjalan, padahal kemarin masih lancar? anda bukan satu-satunya. Banyak pengguna — terutama pemula — sering kebingungan ketika berhadapan dengan error di Docker seperti “Container exited with code 1”, “Image not found”, atau bahkan “Cannot connect to the Docker daemon”.

Masalahnya, pesan error Docker sering terlihat “misterius” dan sulit dipahami tanpa pengalaman teknis mendalam. Akibatnya, waktu habis hanya untuk menebak-nebak penyebabnya.

Artikel ini hadir untuk membantu Anda keluar dari kebingungan itu. Di sini, Anda akan menemukan panduan langkah demi langkah dalam menangani berbagai error container di Docker — mulai dari cara membaca log, menemukan penyebab utama, hingga memperbaiki masalah umum dengan cara yang aman dan sistematis.


Mengapa Container Bisa Error?

Sebelum memecahkan masalah, penting untuk memahami dulu penyebab utamanya. Beberapa hal yang sering membuat container gagal berjalan antara lain:

  • Kesalahan konfigurasi Dockerfile atau Compose. Misalnya perintah CMD salah, port tidak terbuka, atau dependency belum terpasang.
  • Masalah resource host. CPU atau RAM penuh bisa membuat container berhenti mendadak.
  • File system atau permission error. Container tidak bisa membaca atau menulis ke direktori yang di-mount.
  • Versi image tidak cocok. Kadang image terbaru membawa perubahan yang tidak kompatibel dengan script lama.

Setelah tahu sumber masalahnya, kita bisa lanjut ke proses troubleshooting yang lebih terarah.


Langkah-Langkah Troubleshooting Error Container di Docker

1. Periksa Status Container

Langkah pertama adalah melihat kondisi container. Jalankan perintah:

docker ps -a

Perintah ini menampilkan semua container — baik yang sedang aktif maupun yang sudah berhenti. Perhatikan kolom STATUS dan EXIT CODE.

  • Exited (0) → container berhenti normal.
  • Exited (1) atau kode lain → ada error.

2. Lihat Log Container

Untuk mengetahui penyebab pastinya, lihat log dari container tersebut:

docker logs <nama_container>

Contoh:

docker logs web_app

Dari sini Anda bisa menemukan pesan error seperti “port already in use”, “missing environment variable”, atau “permission denied”.

Tips: Tambahkan opsi -f untuk melihat log secara real-time:

docker logs -f web_app

3. Masuk ke Dalam Container (Debug Mode)

Jika log belum cukup membantu, Anda bisa masuk langsung ke container untuk memeriksa dari dalam:

docker exec -it <nama_container> /bin/bash

Atau jika container berbasis Alpine:

docker exec -it <nama_container> /bin/sh

Dari situ, Anda bisa mengecek file konfigurasi, menjalankan perintah manual, atau menguji koneksi jaringan.


4. Periksa Penggunaan Resource

Kadang container gagal karena server kehabisan memori atau CPU terlalu penuh. Gunakan perintah berikut:

docker stats

Perhatikan container yang menggunakan resource berlebihan. Jika ada yang terlalu berat, pertimbangkan untuk menambahkan batas resource di docker-compose.yml:

deploy:
  resources:
    limits:
      memory: 512M

5. Periksa Volume & Permission

Error umum lainnya adalah permission denied saat container mencoba menulis ke volume host. Cek apakah direktori di host memiliki izin yang sesuai:

ls -l /path/ke/volume

Jika perlu, ubah permission-nya:

sudo chmod -R 755 /path/ke/volume

6. Periksa Network & Port

Kadang container tidak bisa berkomunikasi karena port bentrok. Cek port yang sedang digunakan:

sudo lsof -i -P -n | grep LISTEN

Pastikan port yang Anda expose di Docker tidak sedang dipakai oleh aplikasi lain.


7. Rebuild dan Restart Container

Jika konfigurasi sudah diubah, jangan lupa untuk rebuild image dan menjalankan ulang container:

docker compose build
docker compose up -d

Atau jika menggunakan Docker CLI biasa:

docker build -t nama_image .
docker run -d --name nama_container nama_image

Catatan: Hindari menghapus container tanpa memahami penyebab error, karena log penting bisa hilang.


Dengan mengikuti langkah-langkah di atas, Anda bisa menyelesaikan sebagian besar error container di Docker — mulai dari error konfigurasi, port bentrok, hingga masalah resource. Sekarang, Anda tidak perlu lagi panik setiap kali container “mati” tanpa alasan jelas.

Jika Anda ingin mendalami lebih jauh tentang Docker,
baca juga: [Optimasi Docker Image agar Lebih Ringan dan Cepat]

WhatsAppTelegramFacebookXThreadsCopy Link