Many docker containers output log and error information to /dev/stdout
and /dev/stderr
rather than their traditional log files, and you can use the docker logs
command to view those messages. You can make use of the docker logs
command like this:-
docker logs [CONTAINER_ID]
If you want to follow the logs live as you run your application, you can use:-
docker logs --follow [CONTAINER_ID]
By default, the docker logs
command shows all the log entries for that container, and if the container has been running for a while, that can be many lines of output that you are not really interested in. If you are attempting to debug your application, then you will likely want to follow the new log entries rather than trawling through every log entry that's been captured, i.e. tail the log entries from the end of the log file rather than the start.
You can do this by using --tail 0
i.e.
docker logs --follow --tail 0 [CONTAINER_ID]
Similarly, if you want to view the last 100 lines of the Docker logs only, you can do:-
docker logs --follow --tail 100 [CONTAINER_ID]
You can also use the shorthand version by replacing --follow
with -f
and --tail
with -n
like
docker logs -f -n 100 [CONTAINER_ID]
Originally published at https://chrisshennan.com/blog/docker-logs-tail-from-the-end-of-log-entries