-
Build the syslog container:
docker build -t syslog . -
Monitor the logs:
docker run --volumes-from syslog ubuntu tail -f /var/log/syslog -
Run it:
docker run --name syslog -d -v /tmp/syslogdev:/dev syslog -
Start another container to send logs:
docker run -v /tmp/syslogdev/log:/dev/log ubuntu logger hello -
Alternative to #2, as of docker v1.3 use the
docker-execcommand to inspect syslog container directly, after some logs have been generateddocker exec -t syslog tail -f /var/log/syslog -
See in the log message show up in the "tail" container.
For more information on this approach, see Multiple Docker containers logging to a single syslog.
See #4 for insights about achieving similar results without requiring an host bind moount (thanks @helderco!)