На нашей реализации докера на GCE у нас заканчивается пространство в корневой файловой системе.
Так как сами изображения хранятся на отдельном объеме на 1 ТБ, сами изображения не должны быть проблемой.
Один кандидат является централизованными файлами журнала, которые самостоятельно хранит Докер (json файл где-нибудь?), кто-либо знает, где те файлы/файл расположены, и как мы можем logrotate/truncate их?
Во-первых, я использую docker 1.1.2 как для клиента, так и для сервера, этот ответ может быть устаревшим для новых версий докера, поскольку докеры быстро развиваются.
] Найдите свой каталог докеров. В системах, использующих систему в стиле apt / debian, пакет, установленный репозиторием докеров https://get.docker.com/ubuntu
, использует / var / lib / docker
. Скорее всего, каталог находится в том же месте в других системах (не могу подтвердить).
в контейнерах / ** CONTAINER_ID **
вы найдете информацию о контейнере.
В файле ** CONTAINER_ID ** - json.log
в этой папке вы найдете файл со всеми журналами для этого контейнера. Это может выглядеть как файл json, но это не так. Это поток структур json, по одной на строку, каждая из которых содержит одну строку журнала (каждая строка заканчивается }
, а следующая начинается с {
, поэтому это недопустимый json. в целом).
Пример расположения:
- /var/lib/docker/containers/05b6053c41a2130afd6fc3b158bda4e605b6053c41a2130afd6fc3b158bda4e6/05b6053c41a2130afd6fc3b158bda4e605b6053c41a2130afd6fc3b158bda4e6-json.log
Я предлагаю вам использовать этот путь к см кастрированный баран или нет это причина, по которой вам не хватает места, но не для журнала, чередуйте их.
Я бы предпочел убедиться, что контейнер не регистрирует слишком много строк (используя CMD в файле докеров, который либо перенаправляет ваш вывод в файл на томе или в / dev / null - с включенными журналами с конфигурацией - и затем я бы логротатировал файлы журнала с другим контейнером)
при запуске sudo lsof | grep '(deleted)'
, вы можете обнаружить, что docker
docker 17511 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 2879 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 6191 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 8713 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 8726 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 9907 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 9918 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11093 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11096 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11110 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11885 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11890 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11973 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11976 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 11983 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 13105 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 16737 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17139 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17516 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17517 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17518 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17519 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17520 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17525 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17574 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17584 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17586 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17637 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17643 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17644 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17659 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17666 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17669 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17680 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17884 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 17895 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21126 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21474 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21475 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21519 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 21721 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 23829 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 23830 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 23833 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 24196 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 24197 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 26821 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 28597 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 28608 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30305 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30308 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30594 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
docker 17511 30595 root 25r REG 202,1 105 456624 /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
оставил открытыми много удаленных файлов журналов контейнера. Это журналы, принадлежащие удаленному контейнеру. Один из способов закрыть их - перезапустить сам демон docker. Это не всегда возможно.
Другой способ освободить это пространство - найти соответствующий файловый дескриптор и усечь его:
ls -lh /proc/17511/fd/ | grep e49d81fc
lr-x------ 1 root root 64 Sep 8 08:06 25 -> /var/lib/docker/containers/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc/39ba30ffc0e218ee830576570222284a93ebb458eadf46933d2dd7afe49d81fc-json.log (deleted)
Где 17511
- это pid докера, а e49d81fc
] является частью оскорбительного имени файла журнала / идентификатора контейнера. Здесь fd - это / proc / 17511 / fd / 25, поэтому мы его усекаем:
cat /dev/null > /proc/17511/fd/25
Чтобы найти местоположение докера, вы можете использовать:
docker info
Containers: 16
Images: 45
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 78
Execution Driver: native-0.2
Kernel Version: 3.16.0-31-generic
Operating System: Ubuntu 14.10
WARNING: No swap limit support
Если вы хотите освободить место, вы можете сделать это следующим образом:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e2977ed2f4c ekino/puppetlabs:12.04.5 "/bin/bash" 15 hours ago Exited (0) 15 hours ago stoic_jones
ded5903df161 ekino/puppetlabs:12.04.5 "/bin/bash" 12 days ago Exited (0) 11 days ago boring_wilson
72a831b7e4ab a964750d8f91 "/bin/bash" 4 weeks ago Exited (127) 3 weeks ago hungry_meitner
79af8331bad9 a964750d8f91 "/bin/bash" 4 weeks ago Exited (0) 4 weeks ago tender_wilson
d3d3ca34b4b2 1af3728b2912 "/bin/bash" 6 weeks ago Exited (0) 5 weeks ago distracted_shockley
Теперь вы можете удалить контейнер с помощью:
docker rm ac055c58ab19
Поздний ответ, но любому, кто находится в одной лодке, может быть лучше изучить варианты экспорта журналов докеров в удобное место для управления ими. logspout полезен для сбора журналов из всех ваших докер-контейнеров и отправки их куда-нибудь. ЕСЛИ вам просто нужно учитывать это, тогда отправка их демону системного журнала хоста может быть хорошим подходом, и вы можете использовать обычные механизмы для их размещения в файлы и их вращения оттуда. Для более крупных сред с несколькими хостами вы можете рассмотреть возможность доставки в стек «ELK». то есть Elasticsearch, Logstash и Kibana.
Вот простой однослойный лог-файл для очистки контейнера:
echo "" > $(docker inspect --format='{{. LogPath}}}'
Я использую Docker версии 1.13.0, сборка 49bf474
Если вы используете формат ведения журнала по умолчанию json-файл
, вы можете указать параметр поворота ваши журналы.
Вы можете настроить демон Docker для этого или настроить его для каждого контейнера.
Например, размер файла журнала 2 МБ и максимум 5 файлов журнала:
Демон Docker: Создать файл /etc/docker/daemon.json
:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "2m",
"max-file": "5",
}
}
Запуск Docker:
docker run -it --log-driver json-file --log-opt max-size=2m,max-file=5 alpine ash
Подробнее см. ведение журнала и конфигурация dockerd
Видел этот скрипт в официальной документации докера:
sudo find /var/lib/docker/containers/ -type f -name "*.log" -delete
Работает хорошо, но докера не освобождает память автоматически... Скрипт просто удаляет лог-файлы.
Я нахожу контейнеры с самыми большими журналами:
root@dockerhost:~# cd /var/lib/docker/containers/
root@dockerhost:/var/lib/docker/containers# find . -size +2G
./62cd9d1459f90b5b2e72d192e7ff65aa3cbbdd0fa877135cccd4c847a0e6df72/62cd9d1459f90b5b2e72d192e7ff65aa3cbbdd0fa877135cccd4c847a0e6df72-json.log
./295abd50c1680f517508a1a35fd32a1f525ec13edb4c539cb4abb1e5e3c47da2/295abd50c1680f517508a1a35fd32a1f525ec13edb4c539cb4abb1e5e3c47da2-json.log
root@dockerhost:/var/lib/docker/containers# docker ps -a --no-trunc | grep 62cd9d1459f90b5b2e72d192e7ff65aa3cbbdd0fa877135cccd4c847a0e6df72 62cd9d1459f90b5b2e72d192e7ff65aa3cbbdd0fa877135cccd4c847a0e6df72 apacheverdaccio_verdaccio "uid_entrypoint /bin/sh -c '$VERDACCIO_APPDIR/bin/verdaccio --config /verdaccio/conf/config.yaml --listen $VERDACCIO_PROTOCOL://0.0.0.0:$VERDACCIO_PORT'" 6 months ago Up 2 days 0.0.0.0:14873->4873/tcp apacheverdaccio
root@dockerhost:/var/lib/docker/containers#
Затем я cat /dev/null > <файл журнала>
и docker перезапускаю контейнер
Of конечно, все это плохая практика, вам нужно раскрутить новый контейнер и удалить старый.