This tutorial will help you clear the log file on a Docker container. If your system is getting out of disk space 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.
Clear Docker Container Log File
Below are the 3 different options to clear log files 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.
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.
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.
truncate -s 0 $(docker inspect --format='{{.LogPath}}' <container_name_or_id>)
truncate -s 0 /var/lib/docker/containers/*/*-json.log
You can quickly truncate the docker log files using one of the above options.
Wrap Up
In this blog post, you have learned to truncate (clear) log files of a Docker container.
4 Comments
Thank you!! Great explanation solved my docker utilisation.
truncate -s 0 /var/lib/docker/containers/*/*-json.log
When trying to run this cmd, I get
truncate: cannot open ‘/var/lib/docker/containers/*/*-json.log’ for writing: No such file or directory.
I can see the file and filepath but cant understand why im getting this error?
Any suggestions?
Thank you for this article. My /var/lib/docker was 95% and Zabbix was sending me an email every few minutes and now I have resolved the issue.
You are a breath of fresh air and can find easy solutions without all the technobabble.
oneline:
docker inspect –format='{{.LogPath}}’ | xargs truncate -s 0