Dashboard kontainer yang menunjukkan status restart dan kesehatan Docker

Kontainer yang mengalami crash mudah diketahui. Kontainer yang terus berjalan sementara aplikasi di dalamnya deadlock adalah yang menghabiskan malam Jumat. Kebijakan restart bawaan Docker ditambah pemeriksaan kesehatan adalah garis pertahanan pertama, dan alat di sekitarnya (watchdog auto-heal, pembaruan gambar, dashboard) adalah alasan mengapa homelab tetap aktif antar kunjungan. Aplikasi terbaik untuk kebijakan restart kontainer Docker adalah yang membuat kombinasi itu membosankan, yang merupakan tujuan sebenarnya.

Kami memilih delapan alat yang bersama-sama mencakup pengaturan: cara mendeklarasikan kebijakan, cara mendeteksi kontainer yang tergantung, cara melihat semuanya dari browser, dan cara menjaga gambar tetap terbaru tanpa kejutan di tengah malam.

Apa yang dicari dalam alat restart kontainer

Baik itu digabungkan dengan Docker atau dipasang terpisah, alat yang berguna memiliki:

Delapan alat di bawah stack dengan bersih. Pilih yang belum dimiliki tumpukan Anda.

Perbandingan cepat

Aplikasi Terbaik untuk Bentuk Deploy Biaya
Docker Compose Mendeklarasikan kebijakan CLI + YAML Gratis
Willfarrell Autoheal Restart kontainer yang tidak sehat Sidecar container Gratis, open-source
Watchtower Auto-update gambar Sidecar container Gratis, open-source
Portainer Web dashboard dengan kontrol restart Web UI container Gratis CE, bisnis berbayar
Dockge Web UI yang didahulukan Compose Web UI container Gratis, open-source
Diun Notifikasi update, tanpa auto-pull Sidecar container Gratis, open-source
Uptime Kuma Alerting saat kontainer hilang Web UI container Gratis, open-source
Ouroboros Alt auto-updater Sidecar container Gratis, open-source

1. Docker Compose, terbaik untuk mendeklarasikan kebijakan

Docker Compose adalah tempat kebijakan benar-benar hidup. restart: unless-stopped dalam file docker-compose.yml, ditambah blok healthcheck, memberikan Docker dua bagian yang dibutuhkan untuk menjaga layanan tetap aktif. Compose dalam Docker CLI saat ini cepat dan stabil, dan repo penuh file Compose adalah satu-satunya sumber kebenaran yang dibaca setiap alat lain dalam daftar ini.

Di mana ini tidak cukup: Compose tidak bertindak pada status yang tidak sehat. Kontainer yang ditandai tidak sehat akan terus berjalan kecuali watchdog terpisah memulainya ulang. Itulah gap yang diisi Autoheal.

Harga:

Platform: Windows, Linux, macOS.

Download: docs.docker.com/compose

Garis bawah: Lapisan dasar. Setiap cerita kebijakan restart di sisa daftar ini mengasumsikan file Compose di bawahnya.

2. Willfarrell Autoheal, terbaik untuk restart kontainer yang tidak sehat

Autoheal adalah sidecar satu kontainer yang menanyai API kesehatan Docker sendiri dan memulai ulang kontainer apa pun yang telah ditandai tidak sehat lebih lama dari ambang batas. Opt-in per kontainer dengan label sederhana. Pengaturan adalah layanan Compose tunggal.

Di mana ini tidak cukup: itu hanya bereaksi terhadap sinyal healthcheck Docker sendiri. Jika kontainer tidak pernah ditandai tidak sehat karena healthcheck aplikasi salah, Autoheal tidak dapat membantu.

Harga:

Platform: Host Docker apa pun (Linux, Windows, macOS).

Download: github.com/willfarrell/docker-autoheal

Garis bawah: Bagian yang hilang. Setiap homelab dan tumpukan produksi kecil harus menjalankan ini di sebelah Compose.

3. Watchtower, terbaik untuk auto-update gambar

Watchtower memantau tag yang Anda deploy dan, ketika gambar upstream telah bergerak, menarik gambar baru dan memulai ulang kontainer. Dapat dikonfigurasi per label, jadi database dapat tetap disematkan sementara situs statis auto-update. Notifikasi mendarat di Slack, Discord, atau webhook.

Di mana ini tidak cukup: pembaruan otomatis adalah pedang bermata dua. Sematkan kontainer yang penting (database, apa pun dengan migrasi skema); biarkan daun auto-update.

Harga:

Platform: Host Docker apa pun.

Download: containrrr.dev/watchtower

Garis bawah: Auto-updater default; gunakan dengan label, bukan mode “perbarui semuanya”.

4. Portainer, terbaik untuk web dashboard dengan kontrol restart

Portainer adalah UI web Docker yang akhirnya digunakan self-hoster. Ini mencantumkan setiap kontainer, menunjukkan status kesehatan dan restart, mengekspos tombol Restart untuk masing-masing, dan mendukung manajemen tumpukan Compose. Community Edition gratis dan mencakup homelab; Business membuka akses berbasis peran dan multi-cluster.

Di mana ini tidak cukup: itu banyak UI untuk tumpukan host tunggal. Jika pengaturan Anda adalah satu mesin, Dockge lebih ringan.

Harga:

Platform: Host Docker apa pun.

Download: portainer.io

Garis bawah: Pilihan terbaik untuk siapa pun yang menjalankan beberapa host atau menginginkan dashboard nyata untuk tamu.

5. Dockge, terbaik untuk browsing yang dipandu Compose

Dockge memperlakukan file Compose sebagai kelas satu. Itu mengedit YAML di tempat, memulai ulang tumpukan saat Anda menyimpan, dan menunjukkan status kontainer inline. Jika Portainer terasa berat untuk pengaturan host tunggal, Dockge adalah yang harus diganti.

Di mana ini tidak cukup: fokus node tunggal; tidak ada manajemen multi-host. Proyek lebih baru, tetapi stabil di rilis saat ini.

Harga:

Platform: Host Docker apa pun.

Download: github.com/louislam/dockge

Garis bawah: Dashboard yang lebih ringan untuk pengaturan satu mesin dengan repo Compose yang berkembang.

6. Diun, terbaik untuk notifikasi update tanpa auto-pull

Diun (Docker Image Update Notifier) memantau tag gambar dan memberitahu saat yang baru mendarat, tanpa menarik atau memulai ulang. Untuk kontainer yang ingin Anda perbarui dengan tangan (database, apa pun dengan langkah manual), Diun memberitahu Anda kapan merencanakan update.

Di mana ini tidak cukup: notifikasi saja menurut desain. Jika tujuannya adalah “cukup perbarui semuanya semalam”, gunakan Watchtower.

Harga:

Platform: Host Docker apa pun.

Download: github.com/crazy-max/diun

Garis bawah: Pelengkap Watchtower. Auto-update hal yang aman, beritahu yang lainnya.

7. Uptime Kuma, terbaik untuk alerting saat kontainer hilang

Uptime Kuma adalah halaman status dan alerter yang di-host sendiri. Arahkan ke port yang terbuka di setiap kontainer atau ke soket Docker, dan itu ping sesuai jadwal. Ketika kontainer turun, Kuma alert melalui Discord, Telegram, email, atau webhook, dan halaman status menunjukkan jendela outage.

Di mana ini tidak cukup: itu memantau, itu tidak restart. Pasangkan dengan Autoheal untuk loop tertutup.

Harga:

Platform: Host Docker apa pun.

Download: uptime.kuma.pet

Garis bawah: Lapisan alert di atas Autoheal. Bersama-sama mereka mencakup cerita “sedang turun, sudah naik”.

8. Ouroboros, terbaik sebagai auto-updater alternatif

Ouroboros adalah alternatif yang lebih lama untuk Watchtower. Itu melakukan pekerjaan yang sama (poll upstream, pull, restart) dengan permukaan konfigurasi yang sedikit berbeda. Kedua proyek dipertahankan dengan baik; pilih mana pun doknya dibaca paling bersih.

Di mana ini tidak cukup: komunitas lebih kecil dari Watchtower, jadi pemecahan masalah mengalami lebih sedikit utas forum.

Harga:

Platform: Host Docker apa pun.

Download: github.com/pyouroboros/ouroboros

Garis bawah: Auto-updater pilihan kedua yang baik. Sebagian besar tumpukan mendarat di Watchtower terlebih dahulu.

Cara memilih yang tepat

FAQ

Apa perbedaan antara kebijakan restart Docker?

no tidak pernah restart, on-failure restart pada exit non-zero, always restart pada henti apa pun termasuk manual, dan unless-stopped restart pada kegagalan dan reboot tetapi bukan henti manual. unless-stopped adalah default untuk sebagian besar tumpukan self-hosted.

Apakah Docker memulai ulang kontainer yang tergantung tetapi tidak crash?

Tidak. Docker hanya bereaksi pada exit kontainer. Untuk memulai ulang kontainer yang tergantung, tambahkan healthcheck dan pasangkan dengan Autoheal atau watchdog serupa.

Apakah Watchtower aman untuk produksi?

Untuk layanan daun dengan data immutable, ya. Untuk database dan apa pun dengan migrasi skema, sematkan gambar dan update dengan tangan. Watchtower mendukung opt-in berbasis label.

Portainer atau Dockge untuk server rumah?

Portainer untuk multiple host atau saat Anda membutuhkan akses berbasis peran. Dockge untuk single host di mana file Compose adalah sumber kebenaran.

Apakah saya memerlukan alerter terpisah jika saya memiliki Portainer?

Portainer menampilkan status kontainer tetapi tidak memberitahu Anda. Uptime Kuma atau alat pemberitahuan lainnya mengirim pesan saat kontainer turun.

Apa tumpukan yang berguna terkecil?

Compose dengan restart: unless-stopped dan healthcheck, ditambah Autoheal. Kombinasi itu mencakup 80 persen skenario “kontainer tergantung semalam”.