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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。