How to Clear Docker Logs and Activate Log Rotate
This note will guide you clear docker logs on a Docker container and activate log rotate to prevent disk getting full. If your system is getting 100% disk usage and you found that the docker container’s log files are consuming high disk space, you can find the log file location and clear them with the help of this tutorial. While clearing log files of a docker container, you don’t need to stop it
Below are the 3 options to clear docker logs of Docker containers. Choose any one of the below options to truncate the docker container log files.
Some of the below options require a container id or name, which can be found with the docker ps -a
command.
Option 1:
In this option, first we will find the log file path and then truncate it. Use inspect option to find the log file name and location of a docker container.
1 |
docker container inspect --format='{{.LogPath}}' <container_name_or_id> |
As a result, you will get a log file path. Now truncate the log file with the following command.
1 |
truncate -s 0 /path/to/logfile |
Here -s
is used to set the size of a file. You provided 0 as input, which means completely truncating the log file.
Option 2:
You can combine both commands in a single command. Use the following command to truncate the log file of the specified Docker container.
1 |
truncate -s 0 $(docker inspect --format='{{.LogPath}}' <container_name_or_id>) |
Option 3:
Truncate the log files of all docker containers in your system.
1 |
truncate -s 0 /var/lib/docker/containers/*/*-json.log |
You can quickly truncate the docker log files using one of the above options.
For me is prefer to choose option 3 with a modification like below.
1 |
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log" |
If you want to get the size of the logs
1 |
sudo sh -c "du -ch /var/lib/docker/containers/*/*-json.log" |
If just to get the total of the size of the logs
1 |
sudo sh -c "du -ch /var/lib/docker/containers/*/*-json.log | grep total" |
Activate Log Rotate in Docker Logs
Log rotate is a system utility that manages the automatic rotation and compression of log files. If log files were not rotated, compressed, and periodically pruned, they could eventually consume all available disk space on a system.
Example file in /etc/logrotate.d/docker-logs
1 2 3 4 5 6 7 8 9 |
/var/lib/docker/containers/*/*.log { rotate 7 daily compress size=50M missingok delaycompress copytruncate } |
create config above and your docker logs will be rotate every week.
Its like you read my mind! You seem to know a lot about
this, like you wrote the book in it or something.
I think that you could do with some pics to drive the message
home a bit, but other than that, this is wonderful blog.
A fantastic read. I’ll definitely be back.