iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

docker logs

docker logs tails a container’s stdout/stderr. By default everything stays on the host as JSON files. For production, ship logs off-host with a logging driver or a sidecar.

Tail, follow, drivers, structured

EXAMPLE
# 1) Basics
docker logs web                       # all logs since container start
docker logs -f web                    # follow (like tail -f)
docker logs --tail=100 -f web          # last 100 + follow
docker logs --since=10m web            # last 10 min
docker logs --until=2026-06-07T13:00 web
docker logs --timestamps -f web        # prepend RFC3339 timestamps

# 2) Compose
docker compose logs -f                 # all services
docker compose logs -f web db          # specific services
docker compose logs --tail=50 web

# 3) Default driver — json-file. Rotate or you'll fill the disk.
# /etc/docker/daemon.json
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "50m",
        "max-file": "3"
    }
}
# Reload: systemctl restart docker

# 4) Per-container override
docker run --log-driver=json-file \
    --log-opt max-size=10m --log-opt max-file=3 my/app

# 5) Ship logs OFF the host
# fluentd
docker run --log-driver=fluentd \
    --log-opt fluentd-address=10.0.0.5:24224 \
    --log-opt tag=app.web my/app

# AWS CloudWatch
docker run --log-driver=awslogs \
    --log-opt awslogs-region=us-east-1 \
    --log-opt awslogs-group=/my/app my/app

# Loki / Grafana via promtail sidecar — common K8s pattern

# 6) STRUCTURED logs win — JSON to stdout, then parse downstream
console.log(JSON.stringify({ ts: Date.now(), level: 'error', msg: 'fail', request_id }));
# Don't write logs to /var/log/app.log inside the container — write to stdout.

# 7) Inspect log driver in use
docker inspect -f '{{.HostConfig.LogConfig.Type}}' web

Why it matters

Write to stdout, NEVER to files inside the container. The 12-factor rule plus Docker’s defaults make “stdout + a log driver” the universally-portable production logging story.

Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.

Example

Example
docker logs api
docker logs -f api    # follow
docker logs --tail 100 api
Try it Yourself »

Discussion

Loading…