# Logs in Docker begrenzen

Ah ja, das Problem kenne ich – Docker schreibt die Container-Logs standardmäßig unlimitiert in **JSON-Dateien** unter `/var/lib/docker/containers/<container-id>/<container-id>-json.log`.  
Wenn du viele Container laufen hast, können die sehr schnell die Platte volllaufen.

---

## 🔧 Lösung: Log-Rotation aktivieren

Docker bringt das schon mit, du musst nur das **Logging-Driver** konfigurieren.

### 1. Global (für alle Container)

Du kannst in `/etc/docker/daemon.json` (oder erstellen, falls nicht existiert) Folgendes setzen:

```json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

```

- `max-size`: maximale Größe einer einzelnen Logdatei (z. B. 10 MB)
- `max-file`: wie viele rotierte Logdateien behalten werden (z. B. 3 → max. 30 MB pro Container)

Danach Docker neu starten:

```bash
sudo systemctl restart docker

```

---

### 2. Nur für einen bestimmten Container

Beim Start eines Containers:

```bash
docker run -d \
  --name mein-container \
  --log-driver=json-file \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  nginx

```

---

### 3. Alternative Logging-Driver

Wenn du Logs nicht auf der Platte haben willst, kannst du auch andere Treiber nehmen, z. B. `syslog`, `journald` oder `none`.  
Beispiel (Logs nur ins Journal):

```bash
docker run -d \
  --log-driver=journald \
  nginx

```

---

👉 Empfehlung: Setz am besten die **globale Einstellung** in `daemon.json`, dann musst du dich um einzelne Container nicht mehr kümmern.

---

Willst du, dass ich dir auch ein kleines **Einmal-Skript** bastle, das deine bestehenden übergroßen Logdateien automatisch kürzt oder leert, damit du gleich wieder Platz bekommst?