Dockerコンテナのログを確認する方法

WI
Wilan
読了時間: 約 8 分
check log docker

Dockerを使用してアプリケーションを実行する際、重要なことの一つはコンテナログを確認する方法です。このログは、アプリケーションが正常に動作しているか、エラーがないか、コンテナ内のサービスが正常に起動しているかを確認するのに非常に役立ちます。

この例では、特定のコンテナ名は使用しません。そのため、一般的な形式を使用します:

nama-container

または、よりわかりやすくするために、自分のコンテナ名を次のように考えてください:

nama-proyek

あとは、nama-proyek を実際のDockerコンテナ名に置き換えてください。

実行中のコンテナ名を確認するには、次のコマンドを使用します:

docker ps

NAMES の部分を確認してください。それが docker logs コマンドに使用できるコンテナ名です。

1. コンテナログを表示する

コンテナのログを表示するには、次のコマンドを使用します:

docker logs nama-proyek

nama-proyek を自分のコンテナ名に置き換えてください。

一般的な形式の例:

docker logs nama-container

このコマンドは、そのコンテナから記録されたログを表示します。通常、このログには、アプリケーションの起動プロセス、エラー、警告、またはサーバーがアクティブになったことを示すメッセージなどの情報が含まれます。

2. ログをリアルタイムで表示する

ログをリアルタイムまたは継続的に表示したい場合は、-f オプションを追加します。

docker logs -f nama-proyek

-f オプションはフォローを意味します。つまり、コンテナが実行されている限り、端末は最新のログを表示し続けます。

これはデバッグ中に非常に便利です。たとえば、コンテナの再起動後、アプリケーションの更新後、またはWebサイトにアクセスしたときに新しいエラーがないか確認する場合などです。

ライブログモードを終了するには、次のキーを押します:

CTRL + C

これは端末でのログ表示を停止するだけで、コンテナ自体は停止しません。

3. 最新のログのみを表示する

コンテナのログが長すぎる場合があります。特にアプリケーションが長時間実行されている場合です。最新の数行だけを表示したい場合は、--tail を使用します。

docker logs --tail=100 nama-proyek

上記のコマンドは、コンテナログの最後の100行を表示します。

最後の50行を表示する場合:

docker logs --tail=50 nama-proyek

最新のログを表示しつつ、新しいログも追跡したい場合は、--tail-f を組み合わせることができます。

docker logs --tail=100 -f nama-proyek

このコマンドにより、Dockerは最後の100行を表示し、その後新しいログをライブで表示し続けます。

4. 時間に基づいてログを表示する

Dockerは特定の時間に基づいてログを表示することもできます。たとえば、過去10分間のログだけを表示する場合:

docker logs --since=10m nama-proyek

または過去1時間:

docker logs --since=1h nama-proyek

特定の時間までのログを表示するには、以下を使用します:

docker logs --until=10m nama-proyek

この機能は、最初からログをすべて読むことなく、最近発生したエラーに焦点を当てたい場合に便利です。

5. コンテナに入る

外部からログを表示するだけでなく、ファイルやフォルダを確認したり、特定のコマンドを実行したりするためにコンテナの中に入る必要がある場合もあります。

次のコマンドを使用します:

docker exec -it nama-proyek sh

通常、軽量なLinuxベースのコンテナは sh を使用します。

Dockerイメージが bash をサポートしている場合は、次のコマンドも使用できます:

docker exec -it nama-proyek bash

コンテナ内に入ったら、現在のフォルダの場所を確認できます:

pwd

次に、ファイルとフォルダのリストを表示します:

ls

より詳細に表示する場合:

ls -la

6. コンテナ内からアプリケーションを確認する

コンテナ内に入ったら、アプリケーションが使用するポートのローカルホストにアクセスして、アプリケーションが実行されているかどうかを確認できます。

一般的な形式は次のとおりです:

wget -qO- http://localhost:PORT

PORT をコンテナ内のアプリケーションが使用する内部ポートに置き換えてください。

例:

wget -qO- http://localhost:8080

または、コンテナ内で curl が利用可能な場合は、次のコマンドも使用できます:

curl http://localhost:PORT

例:

curl http://localhost:8080

アプリケーションが正常に動作している場合、通常はHTML、JSON、またはアプリケーションからの特定のテキストなどの応答が表示されます。

7. VPSまたはホストからアプリケーションを確認する

コンテナ内からだけでなく、VPSまたはホストサーバーから直接アプリケーションを確認することもできます。

一般的な形式:

curl http://localhost:PORT

PORT をVPSで開かれているポート、またはDockerのポートマッピングに置き換えてください。

例:

curl http://localhost:8080

Dockerを使用する場合、コンテナのポートがホストのポートにマッピングされていることを確認してください。次のコマンドで確認できます:

docker ps

PORTS の部分に次のように表示されます。例:

0.0.0.0:8080->8080/tcp

これは、VPSのポート 8080 がコンテナ内のポート 8080 に転送されることを意味します。

8. コンテナ名を確認する

コンテナ名がわからない場合は、次のコマンドを実行します:

docker ps

このコマンドは実行中のコンテナのリストを表示します。

停止したものを含むすべてのコンテナを表示する場合:

docker ps -a

NAMES の部分を確認し、その名前を docker logs コマンドに使用します。

例:

docker logs nama-container

9. 簡単なデバッグの流れの例

通常、Dockerアプリケーションに問題がある場合、まずコンテナを確認することから始めます。

まず、コンテナが実行中かどうかを確認します:

docker ps

次に、最新のログを確認します:

docker logs --tail=100 nama-proyek

リアルタイムで監視したい場合:

docker logs -f nama-proyek

コンテナに入る必要がある場合:

docker exec -it nama-proyek sh

その後、アプリケーションフォルダを確認します:

pwd
ls -la

次に、内部ポートでアプリケーションが応答するかどうかを確認します:

wget -qO- http://localhost:PORT

または:

curl http://localhost:PORT

まとめ

Dockerコンテナのログを表示するための最も基本的なコマンドは次のとおりです:

docker logs nama-proyek

ログをライブで表示する場合:

docker logs -f nama-proyek

ログの最後の部分だけを表示する場合:

docker logs --tail=100 nama-proyek

そして、コンテナに入る必要がある場合:

docker exec -it nama-proyek sh

これらの簡単なコマンドを使用すれば、Docker上のアプリケーションの状態を確認し、エラーを探し、実行中のプロセスを確認し、コンテナ内のサービスが正常に動作していることを確認できます。

W

著者

Wilan

バリ・アイランド・テクノの常駐寄稿者であり、テクノロジー、プログラミング、ソフトウェアエンジニアリングの世界に関する知識を積極的に共有しています。

ホームに戻る 最終更新日: 2026年5月28日