Painel de controle de contêiner mostrando status de reinicialização e integridade do Docker

Um contêiner que travou é fácil de detectar. Um contêiner que continua funcionando enquanto o aplicativo dentro está em deadlock é aquele que custa uma noite de sexta-feira. A política de reinicialização integrada do Docker mais uma verificação de integridade é a primeira linha de defesa, e as ferramentas ao seu redor (watchdogs de auto-cura, atualizadores de imagens, painéis) são o motivo pelo qual um homelab permanece ativo entre as visitas. Os melhores aplicativos para políticas de reinicialização de contêineres Docker são aqueles que tornam essa combinação entediante, que é exatamente o objetivo.

Selecionamos oito ferramentas que juntas cobrem a configuração: como declarar a política, como detectar um contêiner travado, como ver tudo de um navegador e como manter as imagens atualizadas sem surpresas no meio da noite.

O que procurar em uma ferramenta de reinicialização de contêiner

Seja integrada ao Docker ou adicionada separadamente, uma ferramenta útil tem:

As oito ferramentas abaixo se encaixam perfeitamente. Escolha as que sua pilha ainda não tem.

Comparação rápida

Aplicativo Melhor para Forma de implantação Custo
Docker Compose Declarar a política CLI + YAML Grátis
Willfarrell Autoheal Reiniciar contêineres não saudáveis Contêiner sidecar Grátis, open-source
Watchtower Atualizar imagens automaticamente Contêiner sidecar Grátis, open-source
Portainer Painel web com controles de reinicialização Contêiner Web UI Grátis CE, Business pago
Dockge IU web orientada pelo Compose Contêiner Web UI Grátis, open-source
Diun Notificações de atualização, sem auto-pull Contêiner sidecar Grátis, open-source
Uptime Kuma Alerta quando um contêiner desaparece Contêiner Web UI Grátis, open-source
Ouroboros Atualizador automático alternativo Contêiner sidecar Grátis, open-source

1. Docker Compose, melhor para declarar a política

Docker Compose é onde a política realmente vive. restart: unless-stopped em um arquivo docker-compose.yml, mais um bloco de healthcheck, fornece ao Docker as duas peças que precisa para manter um serviço ativo. Compose no CLI do Docker atual é rápido e estável, e um repositório cheio de arquivos Compose é a única fonte de verdade que todas as outras ferramentas desta lista leem.

Onde fica aquém: Compose não atua em estado não saudável. Um contêiner marcado como não saudável continuará sendo executado a menos que um watchdog separado o reinicie. Essa é a lacuna que o Autoheal preenche.

Preços:

Plataformas: Windows, Linux, macOS.

Download: docs.docker.com/compose

Conclusão: A camada base. Toda história de política de reinicialização no resto desta lista pressupõe um arquivo Compose abaixo.

2. Willfarrell Autoheal, melhor para reiniciar contêineres não saudáveis

Autoheal é um sidecar de um contêiner que pesquisa a API de integridade do Docker e reinicia qualquer contêiner marcado como não saudável por mais tempo que um limite. Opt-in por contêiner com um rótulo simples. A configuração é um único serviço Compose.

Onde fica aquém: ele apenas reage ao sinal de healthcheck do próprio Docker. Se o contêiner nunca foi marcado como não saudável porque o healthcheck do aplicativo está errado, o Autoheal não pode ajudar.

Preços:

Plataformas: Qualquer host Docker (Linux, Windows, macOS).

Download: github.com/willfarrell/docker-autoheal

Conclusão: A peça que falta. Cada homelab e pequena pilha de produção deve executar isso ao lado do Compose.

3. Watchtower, melhor para atualizar imagens automaticamente

Watchtower observa a tag implantada e, quando a imagem upstream foi movida, extrai a nova imagem e reinicia o contêiner. Configurável por rótulo, portanto um banco de dados pode permanecer fixo enquanto um site estático se atualiza automaticamente. As notificações chegam no Slack, Discord ou webhook.

Onde fica aquém: atualizações automáticas são uma faca de dois gumes. Fixe os contêineres que importam (bancos de dados, qualquer coisa com migrações de esquema); deixe as folhas se atualizarem automaticamente.

Preços:

Plataformas: Qualquer host Docker.

Download: containrrr.dev/watchtower

Conclusão: O atualizador automático padrão; use-o com rótulos, não no modo “atualizar tudo”.

4. Portainer, melhor para um painel web com controles de reinicialização

Portainer é a IU web do Docker que a maioria dos auto-hospedadores termina. Ele lista todos os contêineres, mostra status de integridade e reinicialização, expõe um botão Reiniciar para cada um e suporta gerenciamento de pilhas Compose. A Community Edition é grátis e cobre um homelab; Business desbloqueia acesso baseado em função e multi-cluster.

Onde fica aquém: é muita IU para uma pilha de host único. Se sua configuração é uma máquina, Dockge é mais leve.

Preços:

Plataformas: Qualquer host Docker.

Download: portainer.io

Conclusão: Melhor escolha para qualquer pessoa que execute vários hosts ou queira um painel real para convidados.

5. Dockge, melhor para navegação orientada por Compose

Dockge trata os arquivos Compose como primeira classe. Ele edita o YAML no local, reinicia a pilha quando você salva e mostra o status do contêiner em linha. Se Portainer parecer pesado para uma configuração de host único, Dockge é com o que substituí-lo.

Onde fica aquém: foco de nó único; sem gerenciamento de múltiplos hosts. Projeto mais novo, mas estável na versão atual.

Preços:

Plataformas: Qualquer host Docker.

Download: github.com/louislam/dockge

Conclusão: O painel mais leve para uma configuração de uma máquina com um repositório Compose crescente.

6. Diun, melhor para notificações de atualização sem auto-pull

Diun (Docker Image Update Notifier) observa tags de imagem e notifica quando uma nova chega, sem extrair ou reiniciar. Para contêineres que deseja atualizar manualmente (bancos de dados, qualquer coisa com uma etapa manual), Diun informa quando planejar a atualização.

Onde fica aquém: notificação apenas por design. Se o objetivo é “apenas atualizar tudo durante a noite”, use Watchtower.

Preços:

Plataformas: Qualquer host Docker.

Download: github.com/crazy-max/diun

Conclusão: O complemento para Watchtower. Atualizar automaticamente coisas seguras, notificar o resto.

7. Uptime Kuma, melhor para alertar quando um contêiner desaparece

Uptime Kuma é uma página de status e alertador auto-hospedado. Aponte para cada porta aberta do contêiner ou para um soquete Docker, e faz ping em um cronograma. Quando um contêiner fica inativo, Kuma alerta através do Discord, Telegram, e-mail ou webhook, e a página de status mostra a janela de inatividade.

Onde fica aquém: ele monitora, não reinicia. Combine com Autoheal para loop fechado.

Preços:

Plataformas: Qualquer host Docker.

Download: uptime.kuma.pet

Conclusão: A camada de alerta acima do Autoheal. Juntos cobrem a história “estava inativo, está ativo”.

8. Ouroboros, melhor como atualizador automático alternativo

Ouroboros é a alternativa mais antiga para Watchtower. Faz o mesmo trabalho (pesquisa upstream, extrai, reinicia) com uma superfície de configuração ligeiramente diferente. Ambos os projetos são bem mantidos; escolha qual documentação se lê mais limpa.

Onde fica aquém: a comunidade é menor que a Watchtower, então a solução de problemas gera menos tópicos de forum.

Preços:

Plataformas: Qualquer host Docker.

Download: github.com/pyouroboros/ouroboros

Conclusão: Uma boa segunda opção de atualizador automático. A maioria das pilhas pousa em Watchtower primeiro.

Como escolher o correto

Perguntas frequentes

Qual é a diferença entre as políticas de reinicialização do Docker?

no nunca reinicia, on-failure reinicia na saída diferente de zero, always reinicia em qualquer parada incluindo manual, e unless-stopped reinicia na falha e reinicialização, mas não na parada manual. unless-stopped é o padrão para a maioria das pilhas auto-hospedadas.

O Docker reinicia um contêiner que travou mas não crashou?

Não. Docker apenas reage à saída do contêiner. Para reiniciar um contêiner travado, adicione um healthcheck e combine com Autoheal ou um watchdog similar.

O Watchtower é seguro para produção?

Para serviços folha com dados imutáveis, sim. Para bancos de dados e qualquer coisa com migrações de esquema, fixe a imagem e atualize manualmente. Watchtower suporta opt-in baseado em rótulos.

Portainer ou Dockge para um servidor doméstico?

Portainer para múltiplos hosts ou quando precisa de acesso baseado em função. Dockge para um host único onde o arquivo Compose é a fonte de verdade.

Preciso de um alertador separado se tiver Portainer?

Portainer exibe o status do contêiner, mas não o alerta. Uptime Kuma ou outra ferramenta de notificação envia a mensagem quando um contêiner fica inativo.

Qual é a pilha útil menor?

Compose com restart: unless-stopped e um healthcheck, mais Autoheal. Essa combinação cobre 80% do cenário “contêiner travado durante a noite”.