Set container log limits when Docker is filling up /var/lib/docker with large log files.
Environment
Red Hat Enterprise Atomic Host 7
Red Hat Enterprise Linux 7
Red Hat OpenShift 3.X
Issue
- How do I set log limits for container logs.
- Docker is configured to use a thin pool logical volume for storage but is still filling up
/var/lib/docker
. - Running
docker info
shows plenty of data space available but my root file system is filling up with most space taken up in/var/lib/docker
. - With OpenShift 3 I am seeing that docker is filling up space on
/var/lib/docker
.
Resolution
- Container logs by default are not configured to be rotated or limited to a max size by docker. A log file can grow so large that it fills up the disk space if the container runs for long enough and generate enough logs.
See Docker Logging Documentation for more information on what can be set.
- To set log limits for containers on a host
--log-opt
can be configured withmax-size
andmax-file
so that a containers logs are rolled over when they reach a max limit and only a certain number of files are saved before being discarded.
# cat /etc/sysconfig/docker
OPTIONS='--insecure-registry=172.30.0.0/16 --signature-verification=false --selinux-enabled --log-opt max-size=50m --log-opt max-file=5'
- Restart docker service for the changes to take effect.
# systemctl restart docker
If there is already a log file already present on the host that needs to be removed, run the following to clear its contents and reduce its size.
# cat /dev/null > /var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log
OR
# cat /dev/null > $(docker inspect --format='{{.LogPath}}' CONTAINER_ID)
This will remove all logs for the given container
Diagnostic Steps
- Generate a list of the largest files to confirm that the log files are using a large percent of the disk space.
# find /var/lib/docker/ -name "*.log" -exec ls -sh {} \; | sort -h -r | head -20
# du -aSh /var/lib/docker/ | sort -h -r | head -n 10
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments