docker logsコマンド

Dockerコンテナの標準出力・標準エラー出力を見るにはdocker logsコマンドを使う。

$ docker logs <コンテナ>

<コンテナ>の部分はコンテナ名かIDを指定する。

出力が大量にある場合はすべてのログが表示され読みにくい。
--tail--since--untilオプションを使うと出力するログの範囲を絞り込める。

以下の実行例では、1秒ごとにline 1line 2のように1行ずつログを出力するdocker-logs-testコンテナを使う。

末尾から指定した行数分のログを見る(–tail)

--tailオプションで末尾から指定した行数分のログを表示する。

$ docker logs --tail <行数> <コンテナ>

以下は末尾3行分のログを表示する例。

$ docker logs --tail 3 docker-logs-test
line 4
line 5
line 6

期間を指定してログを見る(–since、–until)

--since--untilオプションで期間を指定してログを表示する。

$ docker logs --since <開始日時> --until <終了日時> <コンテナ>

相対時間で指定する

--since--untilには10s5m1hのように相対時間を指定できる。
相対時間を指定した場合はコマンド実行時点からの経過時間として扱われる。

以下は直近3秒分のログを表示する例。

$ docker logs --since 3s docker-logs-test
line 3
line 4
line 5
line 6

--since--untilを組み合わせると期間を絞り込める。
以下は5秒前から2秒前までのログを表示する例。

$ docker logs --since 5s --until 2s docker-logs-test
line 9
line 10
line 11

絶対時間で指定する

--since--untilには2026-07-12T08:24:12のような絶対時間も指定できる。

$ docker logs --since "2026-07-12T08:24:12" docker-logs-test
line 22

リアルタイムでログを見る(-f)と組み合わせる

-fオプションを付加するとtail -fのようにリアルタイムでログを表示する。
--tailと組み合わせると直近のログを表示した状態からリアルタイム表示を開始できる。

$ docker logs -f --tail 2 docker-logs-test
line 28
line 29
line 30
...

docker composeの場合

docker composeの場合はdocker compose logsコマンドを使う。
オプションはdocker logsと同様に使える。

$ docker compose logs --tail <行数>
$ docker compose logs --since <開始日時>

参考

» docker logs