Seluruh tabel pada section Referensi ini menggambarkan Docker yang bekerja — perintah yang diketik, instruksi yang ditulis, kunci yang disetel — tetapi dunia nyata selalu menyisipkan pesan-pesan galat di sela-selanya, dan pesan itu datang dari tiga penjuru yang berbeda. Sebuah error Docker tidak cukup dibaca sekadar kalimatnya: kita perlu mengenali keluarganya, membaca arah penulisan output-nya, dan menjalankan urutan pemeriksaan pertama sebelum menyusun hipotesis — disiplin yang kita bangun pada Chapter Strategi Diagnostik. Chapter ini menutup wilayah rujukan dengan kamus lima belas pesan yang paling sering muncul sepanjang Course, masing-masing dengan penyebab dan solusinya.

Anatomi Tiga Keluarga Pesan #

Pesan galat Docker tiba dalam tiga wujud besar. Pertama, Error response from daemon — keluarga runtime: daemon menolak permintaan kita, entah karena nama bentrok, port terpakai, atau image masih dipakai container lain. Kedua, baris ERROR pada output BuildKit — keluarga build: builder gagal mengeksekusi Dockerfile, biasanya karena berkas hilang dari build context atau instruksi salah tulis. Ketiga, yang paling pendiam: container mati tanpa pesan sama sekali dan hanya meninggalkan exit code — keluarga yang kita otopsi lewat docker ps -a dan docker inspect pada Chapter Membaca Container Exit.

Contoh keluarga pertama tampil langsung di terminal begitu perintah ditolak:

bash
$ docker run -d --name web -p 8080:80 nginx:1.29-alpine

Output yang Dihasilkan:

text
docker: Error response from daemon: Bind for 0.0.0.0:8080 failed: port is already allocated.

Urutan Pertolongan Pertama #

Sebelum menyusun hipotesis apa pun, tiga perintah menjadi kotak P3K kita — urutan yang sama dengan Langkah 2 pada kerangka diagnostik. Pertama docker ps -a untuk melihat wajah status setiap container: yang Up, yang Exited beserta angkanya, yang Restarting. Kedua docker logs pada container bermasalah, karena aplikasi hampir selalu sudah menulis penyebab kematiannya sebelum prosesnya mati. Ketiga docker inspect untuk field .State — exit code, waktu berhenti, dan penanda OOMKilled. Ketiganya berjalan dalam satu menit, dan hasilnya menentukan baris kamus mana yang layak kita buka berikutnya.

Kamus Lima Belas Pesan #

Tabel berikut adalah kamus lengkapnya: pesan (atau potongan khasnya), penyebab yang paling sering, dan solusi yang paling produktif. Rujukan chapter dalam italic menunjuk pembahasan tuntasnya di sepanjang Course:

PesanPenyebabSolusi
Cannot connect to the Docker daemonDaemon tidak berjalan atau socket tidak terjangkauNyalakan layanan daemon; periksa detailnya di Troubleshooting Instalasi
permission denied ... docker.sockUser kita bukan anggota grup dockersudo usermod -aG docker budi lalu masuk ulang — materi Mengatur Akses Docker
Bind for 0.0.0.0:8080 failed: port is already allocatedPort host sudah dipakai proses atau container lainGanti port host (-p 8081:80) atau hentikan pemiliknya — Port Publishing
Conflict. The container name "/web" is already in useNama sudah terdaftar pada container berhentidocker rm web dulu, atau pakai nama lain — Menghapus Container
image is being used by stopped containerImage masih ditandai dipakai container berhentiHapus container pemakainya sebelum docker rmi — Menghapus Image
no space left on deviceDisk host penuh oleh layer, volume, atau build cachedocker system df untuk mengukur, docker system prune untuk membersihkan — Debugging Storage
pull access denied ... repository does not existImage privat tanpa login, atau nama salah tulisdocker login lalu tarik ulang; cek ejaan namespace — Login dan Authentication
You have reached your pull rate limit (429)Kuota tarik habis: anonim 100/6 jam, plan Personal 200/6 jamLogin dengan akun gratis, tunggu jendela berikutnya, atau pasang mirror — Docker Hub dan Registry Mirror
manifest unknownTag tidak ada di registry atau sudah dihapusVerifikasi tag di halaman image; pin digest untuk kepastian — Memahami Image Tag dan Image Digest
exec format errorArsitektur biner tidak cocok dengan host (amd64 vs arm64)Build ulang dengan --platform yang sesuai — Target Platform
Read-only file systemRootfs container dimount read-only dan aplikasi mencoba menulisTambahkan --tmpfs atau volume pada titik tulisnya — Read-Only Filesystem dan tmpfs Mount
network ... not foundNetwork dirujuk tapi sudah dihapus atau beda mesindocker network create ulang, atau bersihkan rujukan lama — Debugging Network
failed to compute cache key: ... not foundBerkas COPY tidak ada di build context — tersaring .dockerignorePeriksa path dan aturan .dockerignore — .dockerignore dan Build Context
... requires a CPU with AVX supportImage butuh instruksi CPU yang tidak dimiliki host lamaGanti image atau versi yang tidak butuh AVX; cek dukungan CPU — Mengatasi Container Crash
Container ... is not runningdocker exec pada container berstatus Exiteddocker start dulu, atau docker run baru — Menjalankan Perintah dalam Container

Lima belas baris tersebut menutupi hampir seluruh kejadian yang kita temui sepanjang Course, dan pola membacanya selalu sama: kenali keluarganya, baca dari baris terbawah, jalankan P3K tiga perintah, lalu buka baris kamus yang cocok. Sisanya adalah pekerjaan hipotesis yang sudah kita latih pada Chapter Mengatasi Build Gagal dan Mengatasi Container Crash. Dengan kamus ini, satu wilayah terakhir menanti untuk menutup section Referensi: istilah-istilah yang muncul berulang kali di sepanjang Course dan perlu satu tempat definisi yang pasti. Chapter berikutnya, Glossary, menghimpun tujuh puluh dua istilah Docker dari A sampai Z.

Referensi #