
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:
- Uma declaração clara do que reinicializar significa: em caso de falha, em saída diferente de zero, sempre, unless-stopped. Confundir essa política causou mais interrupções do que os contêineres que protege.
- Verificações de integridade em que a ferramenta pode agir, não apenas relatar. Relatar é um monitor. Reiniciar é uma correção.
- Uma única exibição de painel ou CLI que responda “quais contêineres estão se comportando bem hoje”.
- Tratamento de atualização que é opt-in por contêiner e permite fixar os que não devem se mover.
- Zero surpresas na reinicialização do host. Os arquivos Compose e as políticas de reinicialização devem compor para o mesmo estado após um ciclo de energia do que antes.
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:
- Grátis com Docker Desktop e Docker Engine.
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:
- Grátis, open-source.
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:
- Grátis, open-source.
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:
- Grátis (Community Edition).
- Business é uma assinatura paga para implantações maiores.
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:
- Grátis, open-source.
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:
- Grátis, open-source.
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:
- Grátis, open-source.
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:
- Grátis, open-source.
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
- Comece com Docker Compose e
restart: unless-stoppedem cada serviço. - Adicione Autoheal para reinicialização orientada por healthcheck.
- Adicione Watchtower para atualização automática em contêineres folha e Diun para notificações naqueles que você se recusa a atualizar automaticamente.
- Adicione Uptime Kuma para alertas, para que uma interrupção genuína receba sua atenção.
- Escolha Portainer para um painel de múltiplos hosts ou Dockge para um editor Compose de host único.
- Ouroboros é uma alternativa para Watchtower; use se o estilo de configuração funcionar para você.
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”.