Pemecahan Masalah / Kontainer tidak dapat berjalan normal
1. Kontainer mengalami restart berulang kali di lingkungan Docker Stack
Masalah ini umumnya disebabkan oleh konfigurasi, firewall, dan berbagai pengaturan whitelist yang salah.
Gejala spesifiknya adalah:
- Halaman tidak dapat dibuka menggunakan browser
- Saat menggunakan perintah
sudo docker ps -auntuk melihat daftar kontainer, ditemukan bahwa kontainer terus-menerus melakukan restart - Di server deployment itu sendiri, penggunaan
curl http://localhost:8088mengembalikan errorcurl: (7) Failed to connect to localhost port 8088: Connection refused - File log terus-menerus mengeluarkan informasi stack trace error
Kemungkinan penyebab dan solusi:
| Kemungkinan Penyebab | Solusi |
|---|---|
| Konfigurasi diubah secara manual tetapi ada kesalahan pada konfigurasi | Periksa file konfigurasi yang diubah, periksa apakah sintaks YAML, informasi koneksi database, dan lain-lain sudah benar |
| Konfigurasi yang diubah menunjuk ke server eksternal, tetapi jaringan sebenarnya tidak dapat terhubung | Periksa firewall, konfigurasi security group Alibaba Cloud, whitelist koneksi database, dan konfigurasi lainnya |
| Ada masalah kompatibilitas dengan sistem operasi | Lihat bagian masalah kompatibilitas dengan sistem operasi di bawah ini |
| Redis tidak mendukung page size sistem saat ini | Lihat bagian Redis tidak mendukung page size sistem saat ini di bawah ini |
Masalah kompatibilitas dengan sistem operasi
Jika Anda menggunakan docker logs {ID Kontainer Server} dan menemukan error berikut atau yang serupa:
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 | |
Ini mungkin disebabkan oleh ketidakcocokan antara sistem operasi/komponen saat ini dengan Docker (misalnya: DataFlux Func 2.x dilengkapi dengan Docker 20.10.8, yang mungkin bermasalah pada sistem operasi versi terbaru)
Berikut metode yang dapat dicoba untuk mengatasinya:
Upgrade DataFlux Func ke versi terbaru. Selama proses upgrade, izinkan Skrip instalasi untuk sekaligus meng-upgrade versi Docker. Lihat detail di Penerapan dan Pemeliharaan / Upgrade dan Restart / Upgrade Sistem
Jika DataFlux Func versi terbaru masih mengalami masalah di atas, pengguna juga dapat mengunduh paket biner resmi Docker untuk meng-upgrade Docker ke versi yang lebih baru.
Silakan kunjungi unduhan resmi Docker untuk mengunduh https://download.docker.com/linux/static/stable/
Atau situs mirror Alibaba Cloud https://mirrors.aliyun.com/docker-ce/linux/static/stable/
Misalnya pada Ubuntu, komponen sistem operasi dapat di-upgrade dengan perintah berikut:
| Bash | |
|---|---|
1 2 3 | |
Redis tidak mendukung page size sistem saat ini
Saat image resmi Redis dijalankan pada sistem operasi ARM tertentu, akan terjadi error <jemalloc>: Unsupported system page size. Lihat:
- CSDN: Penanganan error saat menjalankan kontainer resmi redis di arm64
- GitHub issue: docker-library/redis/issues/208
2. Kontainer tidak ada di lingkungan Docker Stack
Masalah ini umumnya disebabkan oleh lingkungan runtime yang tidak benar.
Gejala spesifiknya adalah:
- Jalankan
sudo docker stack lsuntuk melihatdataflux-func - Jalankan
sudo docker ps -adan tidak melihat kontainer yang sesuai - Jalankan
sudo docker stack ps dataflux-func --no-trunc, dan temukan status kontainer tidak normal
Kemungkinan penyebab dan solusi:
| Kemungkinan Penyebab | Solusi |
|---|---|
| Docker versi Snap terpasang di sistem | Copot pemasangan Docker versi Snap, instal ulang Docker dari jalur resmi, atau gunakan Docker yang disertakan dengan Skrip |
| Lainnya | Dapat ditelusuri berdasarkan kolom ERROR pada sudo docker stack ps dataflux-func --no-trunc |
Contoh umumnya adalah no space left on device yang berarti ruang disk tidak cukup.
3. Kontainer tidak dapat dimulai di lingkungan k8s
Masalah ini umumnya disebabkan oleh masalah pada host / cluster k8s.
Kesalahan berikut mungkin terjadi di k8s:
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 10 | |
Kesalahan berikut mungkin terjadi pada salah satu layanan Func:
| Text Only | |
|---|---|
1 2 3 4 5 6 | |
Ini bukan masalah DataFlux Func, silakan periksa host / cluster k8s, dan jika melibatkan penggunaan NAS, periksa juga apakah NAS bermasalah.