Tempah Konsultasi Hantar Tiket

Panduan Praktikal Penyelesaian Masalah Runtime Kontena Docker

Panduan ini merangkumi isu-isu runtime kontena Docker biasa, termasuk senario, gejala, diagnosis, arahan, kawalan risiko, pemulihan, pengesahan, dan bila untuk menghantar tiket OpsGlobal.

Panduan Praktikal Penyelesaian Masalah Runtime Kontena Docker
DevOps 6min 35 paparan 2026-07-13
DockerRuntime KontenaPenyelesaian MasalahDevOps

Senario

Kontena Docker dalam pengeluaran keluar secara tiba-tiba dengan status "Exited (1)". Aplikasi sebelum ini berjalan stabil. Kontena berdasarkan imej tersuai dan menggunakan tetapan runtime lalai.

Gejala

  • docker ps menunjukkan status kontena sebagai "Exited"
  • docker logs <container> mencetak ralat runtime seperti "exec: permission denied" atau "OCI runtime create failed"
  • Log sistem (contohnya journalctl -u docker) menunjukkan ralat containerd atau runc
  • Kontena gagal dimulakan walaupun selepas restart manual

Langkah Diagnosis

  1. Periksa log kontena: docker logs <container> untuk output terkini
  2. Periksa keadaan kontena: docker inspect <container> --format='{{json .State}}' untuk melihat kod keluar dan mesej ralat
  3. Periksa kesihatan daemon Docker: systemctl status docker atau journalctl -u docker -n 100
  4. Uji runtime asas: docker run --rm busybox echo test untuk mengesahkan enjin kontena berfungsi
  5. Periksa had sumber: docker inspect <container> | jq '.[].HostConfig.Memory' untuk mengesahkan tetapan memori dan CPU
  6. Sahkan integriti imej: docker run --rm <image> /bin/sh -c 'ls' untuk memastikan imej berfungsi

Arahan Utama

docker logs <container>
docker inspect <container>
docker system df   # Periksa penggunaan cakera
journalctl -u docker -n 50 --no-pager
cat /var/log/syslog | grep docker

Kawalan Risiko

  • Gunakan --restart=always atau --restart=on-failure untuk memulakan semula kontena secara automatik
  • Tetapkan had sumber (--memory, --cpus) untuk mengelakkan OOM
  • Elakkan penggunaan --privileged yang tidak perlu
  • Laksanakan arahan HEALTHCHECK dalam Dockerfile

Prosedur Pemulihan

  • Jika versi imej baru menyebabkan masalah, kembali ke tag stabil: docker pull <image>:stable kemudian buat semula kontena
  • Jika fail konfigurasi diubah, pulihkan dari sandaran dan restart
  • Gunakan docker commit untuk membuat snapshot keadaan kontena semasa (langkah sementara sahaja)

Langkah Pengesahan

  1. Selepas memulakan kontena, lihat log: docker logs -f <container>
  2. Periksa status kontena: docker ps sepatutnya menunjukkan "Up"
  3. Lakukan pemeriksaan kesihatan aplikasi (contohnya titik akhir curl)
  4. Uji beban untuk memastikan kestabilan di bawah trafik yang dijangka

Bila Menghantar Tiket OpsGlobal

  • Penyelesaian masalah asas gagal dan analisis peringkat sistem diperlukan
  • Disyaki isu kernel, pemacu storan, atau plugin rangkaian (contohnya overlay)
  • Perlu mengubah suai konfigurasi daemon Docker atau menaik taraf versi Docker
  • Memerlukan bantuan profesional untuk memulihkan data atau mengoptimumkan prestasi

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu DevOps dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Panduan ini merangkumi isu-isu runtime kontena Docker biasa, termasuk senario, gejala, diagnosis, arahan, kawalan risiko, pemulihan, pengesahan, dan bila untuk menghantar tiket OpsGlobal.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi