Dzienniki kontenera Docker zabierają całe moje miejsce na dysku

Uruchamiam kontener na maszynie wirtualnej. Mój kontener domyślnie zapisuje logi do /var / lib/Docker/container_id / CONTAINER_ID-json.plik dziennika do momentu zapełnienia dysku.

Obecnie muszę ręcznie usunąć ten plik, aby uniknąć zapełnienia dysku. Czytałem, że w Dockerze 1.8 pojawi się parametr obracający logi . Co poleciłbyś jako obecne obejście?

Author: gtonic, 2015-08-05

4 answers

Docker 1.8 został wydany z opcją obrotu dziennika. Dodanie:

--log-opt max-size=50m 

Gdy kontener jest uruchomiony robi sztuczkę. Możesz dowiedzieć się więcej na: https://docs.docker.com/engine/admin/logging/overview/

 65
Author: poiuytrez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-23 08:54:11

Uwaga: To jest tylko dla docker-compose version 2

Przykład:

version: '2'
services:
  db:
    container_name: db
    image: mysql:5.7
    ports:
      - 3306:3306
    logging:
      options:
        max-size: 50m
 22
Author: jaks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-19 05:27:26

Uwaga: Ten post dotyczy wersji Dockera --log-opt)

Dlaczego nie używasz logrotate (który obsługuje również kompresję)?

/var/lib/docker/containers/*/*-json.log {
hourly
rotate 48
compress
dateext
copytruncate
}

Skonfiguruj go bezpośrednio na węźle CoreOs lub wdroż kontener (np. https://github.com/tutumcloud/logrotate ) montuje / var / lib / docker do obracania dzienników.

 7
Author: gtonic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-15 05:50:29

Przekazuje opcje dziennika podczas uruchamiania kontenera. Przykład będzie następujący

sudo docker run -ti --name visruth-cv-container  --log-opt max-size=5m --log-opt max-file=10 ubuntu /bin/bash

Gdzie --log-opt max-size=5m określa maksymalny rozmiar pliku dziennika na 5MB, a --log-opt max-file=10 określa maksymalną liczbę plików do rotacji.

 0
Author: Visruth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-29 15:05:28