docker logs の使い方

コンテナの出力を見る

書き方

docker logs コンテナ
docker logs --tail 20 コンテナ
docker logs -t コンテナ

コンテナのプログラムが標準出力・標準エラーに出したものを表示します。動かないコンテナの原因探しの第一歩。

よく使うオプション

オプション意味
-f新しい出力を待ち続けて表示する(Ctrl+C で止める)
--tail 数最後の数行だけ出す
-t行ごとに時刻を付ける
--since 時間その時間より後だけ出す(10m・1h・2024-01-01T09:00 など)
--until 時間その時間より前だけ出す

例

$ docker logs web

コンテナが標準出力と標準エラーに出したものを全部出します。止まったコンテナのログも見られます。

$ docker logs --tail 20 -f web172.17.0.1 - - [07/Nov/2026:10:02:11 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/8.5.0"

最後の 20 行を出し、そのまま新しいログを待ち続けます。アクセスしながら様子を見るときに使います。

$ docker logs --since 10m -t api2026-11-07T10:01:58.120Z Error: connect ECONNREFUSED 172.18.0.2:5432

この 10 分のログだけを、時刻付きで出します。いつエラーが出たかを調べるときに便利です。

$ docker logs api 2>&1 | grep -i error

ログからエラーの行だけを探します。コンテナの標準エラーは docker logs の標準エラーに出るので、2>&1 でまとめてから grep に渡します。

よくある間違い・注意

  • アプリがファイル(/var/log/… など)にだけログを書くと、docker logs には何も出ません。標準出力に出すように設定します。
  • ログは消さない限りたまり続けます。本番では --log-opt max-size=10m のように上限を決めておきます。

実際に打って練習する

Docker コースの Lv10「航海日誌 docker logs」で覚えます(第1章 はじめてのコンテナ)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

Docker コマンド一覧(使い方と例)へ戻る