UbuntuでDockerログを確認する方法 | リアルタイム監視

  • 作成日 2026.06.10
  • 更新日 2026.06.17
  • ubuntu
UbuntuでDockerログを確認する方法 | リアルタイム監視

UbuntuでDockerを運用していると、アプリケーションの動作確認やエラー調査のためにログ確認が必要になります。Dockerではコンテナごとにログが管理されており、コマンド一つで確認できます。ここではUbuntu環境でDockerログを確認する方法から、リアルタイム監視、保存場所の確認、ログ管理のポイントまで詳しくまとめます。

Dockerコンテナのログを確認する基本コマンド

Dockerで稼働中または停止済みのコンテナログを確認するには以下のコマンドを実行します。

docker logs コンテナ名

docker logs nginx

またはコンテナIDを指定することも可能です。

docker logs 3f8a1c2d4b5e

実行するとコンテナ起動後から現在までの標準出力(stdout)と標準エラー出力(stderr)が表示されます。

起動中のコンテナ一覧を確認する方法

ログを確認する前にコンテナ名やIDを調べる場合は以下を実行します。

docker ps

停止済みコンテナも含めて確認する場合はこちらです。

docker ps -a

出力例

CONTAINER ID   IMAGE     NAMES
3f8a1c2d4b5e   nginx     web-server

NAMES列の値をdocker logsコマンドで利用できます。

リアルタイムでログを監視する方法

アプリケーションの動作をリアルタイムで確認したい場合は「-f」オプションを利用します。

docker logs -f nginx

Linuxのtail -fと同じように新しいログが継続的に表示されます。

監視を終了する場合は以下を押します。

Ctrl + C

最新のログだけを表示する方法

大量のログがある場合は最新の数十行だけ確認すると効率的です。

最新100行を表示する例

docker logs --tail 100 nginx

最新20行を表示する例

docker logs --tail 20 nginx

リアルタイム監視と組み合わせることもできます。

docker logs -f --tail 50 nginx

特定期間のログを確認する方法

Dockerでは日時を指定してログを取得できます。

直近1時間のログ

docker logs --since 1h nginx

直近30分

docker logs --since 30m nginx

特定日時以降

docker logs --since="2025-01-01T00:00:00" nginx

障害発生時の調査で非常に便利です。

タイムスタンプ付きでログを表示する方法

ログの発生時刻を確認したい場合は以下を利用します。

docker logs -t nginx

出力例

2025-01-01T10:00:00.000000000Z Server started
2025-01-01T10:00:05.000000000Z Request received

リアルタイム監視と組み合わせることも可能です。

docker logs -f -t nginx

Dockerログの保存場所を確認する方法

Ubuntuでデフォルトのjson-fileログドライバーを利用している場合、ログファイルは以下に保存されています。

/var/lib/docker/containers/

コンテナID配下にあるJSONファイルを確認できます。

/var/lib/docker/containers/3f8a1c2d4b5e/

ログファイル確認

sudo ls -lh /var/lib/docker/containers/3f8a1c2d4b5e/

直接確認する場合

sudo cat *-json.log

ただし通常はdocker logsコマンドの利用が推奨されます。

Docker Compose環境でログを確認する方法

Docker Composeを利用している場合は以下を実行します。

全サービスのログ表示

docker compose logs

特定サービスのみ

docker compose logs web

リアルタイム監視

docker compose logs -f

最新100行のみ表示

docker compose logs --tail=100

ログサイズが肥大化する場合の対策

Dockerログは放置すると容量を圧迫することがあります。

現在のディスク使用量確認

docker system df

ログローテーション設定例

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

設定ファイル

/etc/docker/daemon.json

設定変更後はDockerを再起動します。

sudo systemctl restart docker

ログ確認時によく使うコマンドまとめ

全コンテナ確認

docker ps -a

ログ表示

docker logs コンテナ名

リアルタイム監視

docker logs -f コンテナ名

最新50行表示

docker logs --tail 50 コンテナ名

タイムスタンプ表示

docker logs -t コンテナ名

Docker Composeログ

docker compose logs -f

Dockerログを適切に確認できるようになると、アプリケーションエラーの解析やサーバー障害対応が大幅に効率化されます。日常的には「docker logs -f」と「docker compose logs -f」を覚えておくだけでも、多くのトラブルに迅速に対応できます。