Skip to content

Problèmes — Services Docker


Container en Restart Loop

bash
# Identifier le problème
docker logs [service] --tail 50

# Causes communes et solutions
Erreur dans les logsCauseSolution
host not found in upstreamnginx DNS fail (LL#43)Ajouter resolver 127.0.0.11 + set $var
Permission denied /var/lib/logstashVolume permissionsAjouter user: root en dev
database "grafana" does not existDB Grafana manquante (LL#73)CREATE DATABASE grafana dans PostgreSQL
manifest not found: freeradius:3.2Tag inexistant (LL#62)Utiliser freeradius-server:3.2.3
flush ruleset casse Dockernftables (LL#40)Supprimer flush ruleset, utiliser delete table

Container "Created" Après Reboot

bash
# Vérifier l'état réel (Created ≠ Up)
docker ps -a --format "{} {}" | grep -v Up

# Forcer le démarrage
docker compose -f docker-compose.core.yml up -d
docker compose -f docker-compose.monitoring.yml up -d

Grafana — Problèmes Courants

bash
# Erreur: SSL is not enabled on the server
# → Changer GF_DATABASE_SSL_MODE: require → disable

# Erreur: database "grafana" does not exist
docker exec -i rgz-db psql -U rgz_admin -d postgres \
  -c "CREATE DATABASE grafana OWNER rgz_admin;"
docker restart rgz-grafana

ELK — Kibana Non Connecté

bash
# Initialiser kibana_system (une seule fois après Elasticsearch)
docker exec rgz-elasticsearch curl -sf \
  -u "elastic:${ELASTIC_PASSWORD}" \
  -X POST "http://localhost:9200/_security/user/kibana_system/_password" \
  -H "Content-Type: application/json" \
  -d "{\"password\": \"${KIBANA_PASSWORD}\"}"

docker restart rgz-kibana

Logstash — Erreurs Courantes

ErreurCauseSolution
Setting "fields.cluster" doesn't existfields: invalide dans logstash.ymlDéplacer dans filter mutate { add_field }
path.config + pipelines.yml ensembleMutuellement exclusifs (LL#78)Utiliser l'un OU l'autre
document_type => "_doc"Supprimé en ELK 8.x (LL#80)Supprimer cette ligne
Variables ${VAR} non résoluesPas dans environment: (LL#81)Ajouter dans environment: du service

Logs Disque Plein

bash
# Identifier les gros fichiers log
sudo find /var/lib/docker/containers/ -name "*-json.log" \
  -exec ls -lh {} \; | sort -k5 -rh | head -10

# Tronquer en urgence
sudo truncate -s 0 /var/lib/docker/containers/<id>/<id>-json.log

# Solution permanente: /etc/docker/daemon.json
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "log-driver": "json-file",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}
EOF
sudo systemctl restart docker
docker compose up -d --force-recreate

Dernière mise à jour: 2026-02-21

PROJET MOSAÏQUE — 81 outils, 22 conteneurs, 500+ revendeurs WiFi Zone