Tempah Konsultasi Hantar Tiket

Penyelesaian Masalah Runtime Kontena Docker: Panduan Praktikal untuk Pasukan DevOps/SRE

Kuasa kemahiran menyelesaikan masalah runtime kontena Docker dengan diagnosis sistematik, arahan, langkah keselamatan, dan prosedur undur. Ketahui bila perlu hantar tiket sokongan OpsGlobal SRE.

Penyelesaian Masalah Runtime Kontena Docker: Panduan Praktikal untuk Pasukan DevOps/SRE
DevOps 6min 14 paparan 2026-06-19
DockerRuntime KontenaPenyelesaian MasalahDevOpsSRE

Senario

Andaikan kontena Docker pengeluaran tiba-tiba keluar, berulang kali dimulakan semula, atau gagal pemeriksaan kesihatan. Punca biasa termasuk kerosakan aplikasi, kekurangan memori (OOM), konfigurasi salah, atau isu imej dasar. Sebagai jurutera DevOps/SRE yang disokong OpsGlobal, anda perlu mendiagnosis dan memulihkan perkhidmatan dengan cepat.

Gejala

  • Status kontena menunjukkan Exited (1) atau Restarting.
  • docker logs <kontena> menunjukkan ralat aplikasi atau mesej keluar.
  • docker inspect <kontena> menunjukkan OOMKilled: true.
  • Pemeriksaan kesihatan gagal (docker ps menunjukkan unhealthy dalam STATUS).
  • Metrik sumber (CPU/memori) tidak normal.

Langkah Diagnosis

  1. Periksa status kontena bash docker ps -a --filter "name=my-service"
  2. Baca log bash docker logs --tail 200 my-service
  3. Periksa kod keluar bash docker inspect my-service --format '{{.State.ExitCode}}' Kod keluar bukan sifar biasanya menunjukkan ralat aplikasi.
  4. Kesan OOM bash docker inspect my-service --format '{{.State.OOMKilled}}' Jika benar, tingkatkan had memori atau optimumkan aplikasi.
  5. Pantau dengan docker events bash docker events --filter 'container=my-service' --since 1h
  6. Diagnosis mendalam di peringkat hos - Periksa log daemon Docker: journalctl -u docker - Periksa sumber sistem: free -m, top, df -h - Jika menggunakan crictl (runtime serasi CRI): crictl ps, crictl logs <id-kontena>

Arahan Utama

  • docker container restart my-service: Mulakan semula kontena (pemulihan sementara).
  • docker container stop my-service && docker container start my-service: Mulakan semula langkah demi langkah.
  • docker run --rm -it my-image bash: Kontena interaktif untuk debug.
  • docker stats --no-stream: Penggunaan sumber kontena masa nyata.
  • docker system df: Periksa penggunaan cakera Docker.

Kawalan Risiko

  • Jangan padam kontena atau imej tanpa sandaran.
  • Pastikan tiada kebergantungan hiliran (cth., sambungan pangkalan data) sebelum menghentikan kontena.
  • Gunakan --restart=on-failure untuk mengelakkan gelung mulakan semula tidak berkesudahan.
  • Laraskan had sumber secara berperingkat dan pantau prestasi.
  • Maklumkan pasukan sebelum menjalankan arahan diagnosis untuk mengelakkan gangguan.

Prosedur Undur

  1. Hentikan kontena yang bermasalah: docker stop my-service
  2. Tarik imej stabil sebelumnya: docker pull my-registry/my-service:v1.0.0
  3. Mulakan versi lama: docker run -d --name my-service-old --restart=always my-registry/my-service:v1.0.0
  4. Sahkan pemulihan perkhidmatan (lihat di bawah).
  5. Kemas kini orkestrasi (cth., docker-compose atau Kubernetes) untuk merujuk versi lama.
  6. Simpan kontena dan log bermasalah untuk analisis selepas kejadian: docker logs my-service > /tmp/crash.log

Pengesahan

  • Periksa status kontena berjalan: docker ps -f status=running
  • Sahkan proses dalam kontena: docker exec my-service ps aux
  • Hantar permintaan ujian untuk mengesahkan respons aplikasi.
  • Pantau log untuk ralat baru: docker logs --tail 50 my-service
  • Periksa metrik penggunaan sumber stabil.

Bila Hantar Tiket OpsGlobal

  • Kontena kerap keluar tanpa sebab jelas selepas diagnosis asas.
  • Perlu debug di peringkat daemon atau nod (cth., isu kernel, kegagalan pemacu storan).
  • Gejala serupa muncul pada berbilang nod dalam kluster besar.
  • Masalah berterusan selepas undur, atau perlu bina semula imej dan tampung keselamatan.
  • Perlu penalaan parameter runtime Docker (cth., ulimit, cgroups).
  • Melibatkan keserasian versi Docker atau perancangan naik taraf.

Semasa menghantar tiket, sediakan: ID kontena, coretan log, output docker inspect, maklumat sistem hos, dan garis masa.

Senario Penggunaan

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

Latar Belakang Masalah

Kuasa kemahiran menyelesaikan masalah runtime kontena Docker dengan diagnosis sistematik, arahan, langkah keselamatan, dan prosedur undur. Ketahui bila perlu hantar tiket sokongan OpsGlobal SRE.

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