Managing logs in Docker, particularly ensuring that logs do not consume excessive disk space, is crucial. Here are several methods to clear Docker container logs:
1. Adjusting Log Driver Configuration
Docker uses log drivers to manage container logs. By default, Docker employs the json-file log driver, which stores logs in JSON files. To prevent log files from becoming excessively large, configure log driver options when starting a container to limit the log file size.
For example, the following command starts a new container with a maximum log file size of 10MB and retains up to 3 such files:
bashdocker run -d --name my-container \n --log-opt max-size=10m \n --log-opt max-file=3 \n my-image
This approach automatically manages log file sizes, preventing them from consuming excessive disk space.
2. Manually Deleting Log Files
If you need to manually clear existing container logs, directly delete Docker container log files. Log files are typically located at /var/lib/docker/containers/<container-id>/<container-id>-json.log.
You can use the following command to manually delete log files:
bashsudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
This command sets the size of all container log files to 0, effectively clearing the log content.
3. Using a Non-Persistent Log Driver
Docker supports multiple log drivers; if you do not need to persist container logs, consider using the none log driver. This prevents Docker from saving any log files.
Use --log-driver none when starting a container to disable log recording:
bashdocker run -d --name my-container --log-driver none my-image
4. Scheduled Cleanup
To automate the log cleanup process, set up a scheduled task (such as a cron job) to run cleanup scripts periodically. This ensures log files do not grow indefinitely.
For example, a cron job that runs log cleanup daily might be:
bash0 2 * * * /usr/bin/truncate -s 0 /var/lib/docker/containers/*/*-json.log
Summary
The best method for clearing Docker logs depends on your specific requirements and environment. If logs are important for subsequent analysis and troubleshooting, it is recommended to use automatic log file size limits. If logs are only temporarily needed, consider using the none log driver or manual deletion. Regular log cleanup is also a good practice for maintaining system health.