Основная причина, по которой это может происходить, заключается в том, что журналы pod или использование emptyDir
заполняют ваше эфемерное хранилище.
Docker использует консервативный подход к очистке неиспользуемых объектов (часто называемых «сборкой мусора»), таких как изображения, контейнеры, тома и сети: эти объекты обычно не удаляются, если только Вы явно просите Docker сделать это. Это может привести к тому, что Docker будет использовать дополнительное дисковое пространство.
Вы можете использовать docker функцию под названием prune
. Это очистит систему от неиспользуемых объектов. Если вы хотите sh очистить несколько объектов, вы можете использовать docker system prune
. Проверьте здесь больше о prunning .
Существует также другой инструмент под названием Garbage collector
. Это docker инструмент, который удаляет. неиспользованные / оставленные / осиротевшие капли. Проверьте здесь больше об этом.
В контексте реестра Docker сборка мусора - это процесс удаления больших двоичных объектов из файловой системы, когда на них больше не ссылается манифест. BLOB-объекты могут включать как слои, так и манифесты.
Если это не поможет, вы можете попробовать настроить драйвер ведения журнала и установить его ограничение:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3",
"labels": "production_status",
"env": "os,customer"
}
}
Существует также другая опция, если emptyDir
было использовано. Используя emptyDir
, вы разрешаете контейнеру записывать любое количество памяти на его узел fs. Вы можете запросить или ограничить настройки для локального эфемерного хранилища, установив:
spec:
containers:
- name: test
image: test-image
resources:
requests:
ephemeral-storage: "1Gi"
limits:
ephemeral-storage: "1Gi"
- name: test
image: test-image2
resources:
requests:
ephemeral-storage: "2Gi"
limits:
ephemeral-storage: "2Gi"
Вы также можете проверить контейнеры, работающие с использованием docker ps
, а затем самостоятельно проверить контейнер и найти фс.
Его можно найти в этом месте:
/var/lib/docker/containers/<container-id>/<container-id>-json.log
Дайте мне знать, если это поможет.