One of the twelve pillars of a well behaved application is "Logs". However, having an infinitely expanding file on your server isn't ideal. So let's rotate it.
Logging parameters.
Docker allows you to configure two parameters. max-size
and max-file
.
max-size
specifies how big a single file can be. So one container can have a log size as big as X megabytes.
max-file
is the maximum number of log files persisted at any given time.
To change these we simply have to create or edit a daemon settings file.
sudo vim /etc/docker/daemon.json
and update it's contents to match the following.
{
"log-opts": {
"max-size": "128m",
"max-file": "128"
}
}
The combination above allows for up to 128 128MB files at once for a total of 16.38400 gigabytes of used storage at max capacity.
For the change to take effect you'll also need to restart the daemon & all of your containers.
sudo service docker restart
Pro Tip: Use fluentd & splunk to transform and aggregate your logs to a centralized location.
Sources: 12 Factor Docker Documentation