docker service logs

Estimated reading time: 4 minutes

Description

Fetch the logs of a service or task

API 1.29+  The client and daemon API must both be at least 1.29 to use this command. Use the docker version command on the client to check your client and daemon API versions.

Usage

docker service logs [OPTIONS] SERVICE|TASK

Options

Name, shorthand Default Description
--details API 1.30+ 
Show extra details provided to logs
--follow , -f Follow log output
--no-resolve Do not map IDs to Names in output
--no-task-ids Do not include task IDs in output
--no-trunc Do not truncate output
--raw API 1.30+ 
Do not neatly format logs
--since Show logs since timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes)
--tail all Number of lines to show from the end of the logs
--timestamps , -t Show timestamps

Parent command

Command Description
docker service Manage services
Command Description
docker service create Create a new service
docker service inspect Display detailed information on one or more services
docker service logs Fetch the logs of a service or task
docker service ls List services
docker service ps List the tasks of one or more services
docker service rm Remove one or more services
docker service rollback Revert changes to a service’s configuration
docker service scale Scale one or multiple replicated services
docker service update Update a service

Extended description

The docker service logs command batch-retrieves logs present at the time of execution.

The docker service logs command can be used with either the name or ID of a service, or with the ID of a task. If a service is passed, it will display logs for all of the containers in that service. If a task is passed, it will only display logs from that particular task.

Note: This command is only functional for services that are started with the json-file or journald logging driver.

For more information about selecting and configuring logging drivers, refer to Configure logging drivers.

The docker service logs --follow command will continue streaming the new output from the service’s STDOUT and STDERR.

Passing a negative number or a non-integer to --tail is invalid and the value is set to all in that case.

The docker service logs --timestamps command will add an RFC3339Nano timestamp , for example 2014-09-16T06:17:46.000000000Z, to each log entry. To ensure that the timestamps are aligned the nano-second part of the timestamp will be padded with zero when necessary.

The docker service logs --details command will add on extra attributes, such as environment variables and labels, provided to --log-opt when creating the service.

The --since option shows only the service logs generated after a given date. You can specify the date as an RFC 3339 date, a UNIX timestamp, or a Go duration string (e.g. 1m30s, 3h). Besides RFC3339 date format you may also use RFC3339Nano, 2006-01-02T15:04:05, 2006-01-02T15:04:05.999999999, 2006-01-02Z07:00, and 2006-01-02. The local timezone on the client will be used if you do not provide either a Z or a +-00:00 timezone offset at the end of the timestamp. When providing Unix timestamps enter seconds[.nanoseconds], where seconds is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a fraction of a second no more than nine digits long. You can combine the --since option with either or both of the --follow or --tail options.