
Daftar Isi
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
CMDsalah, 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 -aPerintah 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_appDari sini Anda bisa menemukan pesan error seperti “port already in use”, “missing environment variable”, atau “permission denied”.
Tips: Tambahkan opsi
-funtuk 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/bashAtau jika container berbasis Alpine:
docker exec -it <nama_container> /bin/shDari 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 statsPerhatikan container yang menggunakan resource berlebihan. Jika ada yang terlalu berat, pertimbangkan untuk menambahkan batas resource di docker-compose.yml:
deploy:
resources:
limits:
memory: 512M5. 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/volumeJika perlu, ubah permission-nya:
sudo chmod -R 755 /path/ke/volume6. Periksa Network & Port
Kadang container tidak bisa berkomunikasi karena port bentrok. Cek port yang sedang digunakan:
sudo lsof -i -P -n | grep LISTENPastikan 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 -dAtau jika menggunakan Docker CLI biasa:
docker build -t nama_image .
docker run -d --name nama_container nama_imageCatatan: 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]
