Tempah Konsultasi Hantar Tiket

Penyelesaian Masalah Runtime Kontena Docker: Panduan Praktikal untuk Jurutera Kebolehpercayaan Tapak

Selami isu-isu runtime Docker sebenar, daripada ranap kontena kepada kehabisan sumber, dengan arahan diagnostik, kawalan risiko, dan laluan eskalasi untuk sokongan OpsGlobal.

Penyelesaian Masalah Runtime Kontena Docker: Panduan Praktikal untuk Jurutera Kebolehpercayaan Tapak
DevOps 6min 30 paparan 2026-07-22
DockerRuntime KontenaPenyelesaian MasalahSREKubernetes

Senario

Dalam persekitaran pengeluaran, kontena Docker mungkin tiba-tiba berhenti, gagal dimulakan, atau menunjukkan tingkah laku yang tidak menentu. Senario biasa termasuk: kontena berulang kali dimulakan semula (CrashLoopBackOff), pembunuhan Out-of-Memory (OOM) akibat kebocoran memori, kehabisan ruang cakera, dan ralat kebenaran volum.

Gejala

  • Status kontena menunjukkan Exited atau CrashLoopBackOff (dalam Kubernetes)
  • Log hos mengandungi "out of memory" atau "cannot allocate memory"
  • Output docker ps hilang kontena yang dijangka
  • Aplikasi tidak responsif tetapi kontena kelihatan berjalan (proses zombie)

Diagnosis

1. Periksa Keadaan Kontena

docker ps -a | grep <nama-kontena>
docker inspect <id-kontena> --format '{{.State.Status}}'

2. Lihat Log

docker logs --tail 100 <id-kontena>
docker logs --since 5m <id-kontena>

3. Pantau Penggunaan Sumber

docker stats --no-stream <id-kontena>

4. Periksa Sumber Hos

free -h
df -h
top -bn1 | head -20

5. Periksa Daemon Docker

journalctl -u docker --since "5 minutes ago"

Arahan

  • Mulakan semula kontena: docker restart <id-kontena> (lega sementara)
  • Padam dan bina semula: docker rm -f <id-kontena> kemudian jalankan semula
  • Debug kontena yang sedang berjalan: docker exec -it <id-kontena> /bin/sh (jika masih berjalan)
  • Eksport sistem fail: docker export <id-kontena> > kontena.tar

Kawalan Risiko

  • Sebelum melaksanakan docker restart dalam pengeluaran, pastikan pemeriksaan kesihatan dikonfigurasikan dengan stop_grace_period yang sesuai.
  • Menggunakan docker rm -f membunuh proses serta-merta dan mungkin kehilangan data yang tidak disimpan. Lebih baik guna docker stop untuk membenarkan pengendalian isyarat.
  • Dalam Kubernetes, elakkan arahan docker terus pada kontena Pod; guna kubectl untuk mengelakkan ketidakpadanan keadaan orkestrasi.

Pengembalian

  • Jika isu berpunca daripada kemas kini imej, kembali ke tag stabil sebelumnya: bash docker pull <imej>:<tag-sebelum> docker-compose up -d (jika menggunakan Compose)
  • Dalam Kubernetes, guna kubectl rollout undo deployment/<nama> untuk kembali ke semakan sebelumnya.

Pengesahan

  • Sahkan keadaan kontena Up: docker ps atau kubectl get pods
  • Titik akhir kesihatan aplikasi mengembalikan 200: curl http://localhost:<port>/health
  • Penggunaan sumber stabil: docker stats menunjukkan memori/CPU dalam had yang dijangkakan
  • Tiada ralat dalam log terkini: docker logs --tail 50 <id-kontena> menunjukkan tiada anomali

Bila Perlu Menghantar Tiket OpsGlobal

Hantar tiket untuk pasukan SRE kami apabila: - Kontena masih tidak boleh pulih selepas mengikuti langkah di atas - Pemacu storan Docker (contohnya overlay2) rosak memerlukan pembaikan sistem fail - Berbilang hos mengalami kegagalan daemon Docker secara serentak - Perlu analisis coredump daemon Docker atau log mod debug (-D) - Perlu menilai dan melaraskan parameter runtime Docker (contohnya --default-ulimit atau --oom-score-adjust)

Senario Penggunaan

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

Latar Belakang Masalah

Selami isu-isu runtime Docker sebenar, daripada ranap kontena kepada kehabisan sumber, dengan arahan diagnostik, kawalan risiko, dan laluan eskalasi untuk sokongan 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