Ответ 1
Docker 1.8 был выпущен с возможностью поворота журнала. Добавление:
--log-opt max-size=50m
когда контейнер запущен, делает трюк. Вы можете узнать больше: https://docs.docker.com/engine/admin/logging/overview/
Я запускаю контейнер на виртуальной машине. Мой контейнер записывает журналы по умолчанию в файл /var/lib/docker/containers/CONTAINER _ID/CONTAINER_ID-json.log, пока диск не будет заполнен.
В настоящее время я должен удалить этот файл вручную, чтобы избежать полного заполнения диска. Я прочитал, что в Docker 1.8 будет параметр повернуть журналы. Что вы рекомендуете в качестве текущего обходного пути?
Docker 1.8 был выпущен с возможностью поворота журнала. Добавление:
--log-opt max-size=50m
когда контейнер запущен, делает трюк. Вы можете узнать больше: https://docs.docker.com/engine/admin/logging/overview/
Внимание: этот пост относится к версиям докеров, 1.8 (которые не имеют опции --log-opt
)
Почему бы вам не использовать logrotate (который также поддерживает сжатие)?
/var/lib/docker/containers/*/*-json.log {
hourly
rotate 48
compress
dateext
copytruncate
}
Настройте его либо непосредственно на вашем CoreOs Node, либо разверните контейнер (например https://github.com/tutumcloud/logrotate), который монтирует /var/lib/docker для поворота журналов.
ПРЕДОСТЕРЕЖЕНИЕ: это только для версии docker-версии 2
Пример:
version: '2'
services:
db:
container_name: db
image: mysql:5.7
ports:
- 3306:3306
logging:
options:
max-size: 50m