Porządki w środowisku Docker
Okresowy przegląd środowiska Docker wykazał dwa obszary do poprawy: pamięć podręczną budowania zajmującą kilka gigabajtów oraz brak limitów dla logów kontenerów.
Mylące statystyki
Polecenie docker system df wskazywało wszystkie obrazy jako możliwe do usunięcia, mimo że każdy z nich był używany. Jest to znany błąd raportowania w nowszych wersjach magazynu obrazów. Usunięcie obrazów na podstawie tej statystyki skasowałoby między innymi obrazy budowane lokalnie, których nie można ponownie pobrać z rejestru. Przed czyszczeniem zawsze weryfikuję stan w docker ps.
Pamięć podręczna budowania
Pozostaje po budowaniu obrazów ze źródeł i może zostać bezpiecznie usunięta:
docker builder prune
Rotacja logów
Brak konfiguracji demona oznaczał, że logi kontenerów rosły bez ograniczeń. Wprowadziłem limit rozmiaru i liczby plików:
{
"log-driver": "local",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Ustawienie obejmuje wyłącznie kontenery utworzone po zmianie, dlatego po restarcie demona konieczne jest ponowne wdrożenie stacków.