Container logs
Ferry rotates the log of each container, thus a log cannot fill the disk.
Docker stores what each container writes to stdout and stderr. With json-file, the default log driver of Docker, Ferry sets the log rotation.
| Flag and variable | Default | Meaning |
|---|---|---|
--log-max-size FERRY_LOG_MAX_SIZE | 10M | Ferry rotates the log of each container at this size. |
--log-max-files FERRY_LOG_MAX_FILES | 3 | The number of files that Ferry keeps, the current file included. |
ferry logs NAME reads this output from Docker. Thus it goes back only as far as those files.
Docker fixes the log settings when it creates a container. Thus a change applies only to the containers that Ferry creates after it.
Where the other logs go
| Log | Place |
|---|---|
The server log of ferryd | Its standard output. systemd sends it to the journal (journalctl -u ferryd), which has its own size limits. |
| Deploy logs and job logs | Files in the data directory. |
<data-dir>/ferryd.log | Only a server that you start in the background with ferryd start writes this file. |
You can configure the Docker daemon with another default log driver (journald, syslog, fluentd, local…). Then Ferry keeps it and sets no rotation. The limits of that driver apply. The Limits line of the startup banner says so, for example Docker's journald log driver (kept).
--log-max-size 0 also leaves the log configuration of the daemon as it is.