View a container's logsEstimated reading time: 1 minute
docker logs command shows information logged by a running container. The
information that is logged and the format of the log depends almost entirely on
the container’s endpoint command.
docker logs shows the command’s output just as it would appear if
you ran the command interactively in a terminal. UNIX and Linux commands
typically open three I/O streams when they run, called
STDIN is the commmand’s input stream, which may include input from
the keyboard or input from another command.
STDOUT is usually a command’s
normal output, and
STDERR is typically used to output error messages. By
docker logs shows the command’s
STDERR. To read more
about I/O and Linux, see the
Linux Documentation Project article on I/O redirection.
In some cases,
docker logs may not show useful information unless you take
If you use a logging driver which sends logs to a file, an external host, a database, or another logging back-end,
docker logsmay not show useful information.
If your image runs a non-interactive process such as a web server or a database, that application may send its output to log files instead of
In the first case, your logs are processed in other ways and you may choose not
docker logs. In the second case, the official
nginx image shows one
workaround, and the official Apache
httpd image shows another.
nginx image creates a symbolic link from
/dev/stdout, and creates another symbolic link
/dev/stderr, overwriting the previous
devices in the process. See the
httpd driver changes the
httpd application’s configuration to
write its normal output directly to
/proc/self/fd/1 (which is
its errors to
/proc/self/fd/2 (which is
STDERR). See the