44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
# Comandos de Recuperação — Docker Swarm
|
|
|
|
_Alfabeto de comandos para o Pulse usar quando algo quebrar._
|
|
|
|
## Emergency — todos os serviços down
|
|
|
|
```bash
|
|
docker node ls # verificar saúde do nó
|
|
docker stack rm <stack> && sleep 3 # remover stack problemática
|
|
docker swarm init # só se necessário
|
|
docker stack deploy -c <stack>.yml <stack> # re-deploy
|
|
```
|
|
|
|
## Serviço específico — forçar restart
|
|
|
|
```bash
|
|
docker service ps <stack>_<service> # ver tasks atuais
|
|
docker service update --force <stack>_<service> # forçar nova task
|
|
```
|
|
|
|
## Limpar containers órfãos
|
|
|
|
```bash
|
|
docker ps -a -f "status=exited" --format '{{.Names}}' | xargs -r docker rm -f
|
|
docker ps -a -f "status=dead" --format '{{.Names}}' | xargs -r docker rm -f
|
|
```
|
|
|
|
## Swarm reset (extreme)
|
|
|
|
```bash
|
|
docker swarm leave --force && docker swarm init --advertise-addr <ip>
|
|
```
|
|
|
|
## Health check manual de um container
|
|
|
|
```bash
|
|
# Status geral
|
|
docker inspect --format '{{json .State.Health}}' <container_id> | python3 -m json.tool
|
|
|
|
# Com health check definido
|
|
docker inspect --format '{{.State.Health.Status}}' <container_id>
|
|
# → "healthy" | "unhealthy" | "starting"
|
|
```
|