docker ログ - docker コンテナ ログの実装を表示します

docker ログ - docker コンテナ ログの実装を表示します

docker logs コマンドを使用してコンテナ ログを表示できます。

コマンド形式:

$ docker logs [オプション] コンテナ
 オプション:
    --details 詳細情報を表示 -f, --follow リアルタイムログを追跡 --since string 特定のタイムスタンプまたは相対時間(42m(つまり42分)など)以降のログを表示します
    --tail string ログの末尾から何行表示するかを指定します。デフォルトはすべてです。
  -t, --timestamps タイムスタンプを表示する --until string 特定のタイムスタンプ、または 42m (つまり 42 分) などの相対時間より前のログを表示する

例:

指定した時間後のログを表示し、最後の 100 行のみを表示します。

$ docker logs -f -t --since="2018-02-08" --tail=100 コンテナID

過去 30 分間のログを表示します。

$ docker logs --since 30m CONTAINER_ID

一定時間後にログを表示します。

$ docker logs -t --since="2018-02-08T13:23:37" コンテナID

一定期間のログを表示します。

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" コンテナID

補足: Docker コンテナのデバッグのヒント: docker ログと docker サービス ログ

コンテナのデバッグ

Docker を初めて使用する学生の多くは、Docker コンテナが起動できないという問題に遭遇したり、何をすればよいのかわからずに何度も起動し続けたりすることがよくあります。

Docker は、コンテナ操作の問題を簡単にデバッグできる一連の簡単なコマンドを提供します。

原理は非常に単純で、コンテナのランタイム(または過去形)のログを直接出力することができます。

通常、次の 4 つの方法があります。

docker run (コンソール上でコンテナを起動)

docker exec (バックグラウンドコンテナにアタッチ)

docker logs

docker service logs

以下では

コンソールからコンテナを起動する

たとえば、Redisコンテナをデバッグして起動します

docker run -it -rm redis redis-server [redis 起動パラメータは省略...]

この方法では、redis-serverのログ出力がコンソールに直接表示されます。

欠点は、この方法はコンテナのデバッグを開始するときにのみ使用され、バックグラウンドで実行されているコンテナや期限切れのコンテナを操作できないことです。

Docker execはバックグラウンドコンテナにアタッチします

システムの動作状態を確認するために、コンテナに入る必要がある場合があります。このとき、docker exec を使用できます。

docker exec を使用する前提は、コンテナが実行されていることです。そのため、コンテナが正常に動作しない場合は、このコマンドを使用できないことがよくあります。

docker ログ

実際、docker コンテナがどのような状態であっても、docker logs を使用してコンテナのすべてのログを取得できます。

docker logs [コンテナ名]

Docker ログにも制限があり、Docker swarm モードで起動に失敗したコンテナ ログを取得することはできません。

docker サービスログ

Docker swarm モードの場合は、コンテナ ログのコマンドを取得します。

通常、サービスのコンテナ名を取得するには、次のコマンドを順番に実行します。

docker サービス ls
docker service ps [サービス名]

コンテナ名でログを取得できます

docker サービス ログ [コンテナ名]

Dockerサービスログにはログが空であることが示されています

dockerサービスログを適切に動作させるには、dockerの設定を行う必要があります。

:vi /etc/docker/daemon.json を編集します。

このファイルに追加:

{
  "ログドライバー": "json ファイル",
  「ログオプション」: {
    "ラベル": "production_status,geo",
    "env": "os,顧客"
  }
}

次にdockerを再起動します

サービスdockerの再起動

dockerサービスログの詳細な紹介については、公式ドキュメントを参照してください。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法
  • Dockerがコンテナを起動するたびに、IPとホストが指定した操作が実行されます。
  • Dockerコンテナイメージからコードを復元する手順
  • Docker コンテナのカスタム ホストのネットワーク アクセス操作
  • dockerコンテナの再起動後に/etc内の一部の設定ファイルがリセットされる問題を解決します
  • Docker実行コンテナが作成状態にある問題についての簡単な説明
  • DockerコンテナはホストのMySQL操作にアクセスする

<<:  MySQLクエリ最適化に必須の知識ポイントのまとめ

>>:  React コンポーネント通信ルーティングパラメータ転送 (react-router-dom)

推薦する

Docker-compose インストール db2 データベース操作

db2 データベースをホストマシンに直接インストールするのは面倒で、ユーザーや権限を巻き込むのも不便...

Tomcat プロジェクトを展開する一般的な方法のいくつか [テスト済み]

1 / Webプロジェクトファイルをwebappsディレクトリに直接コピーするこれは最も一般的に使...

Nginx ベースの Mencached キャッシュ構成の詳細な説明

導入Memcached は分散キャッシュ システムです。Memcached には認証とセキュリティ制...

高性能ウェブサイトの最適化ガイド

パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...

HTML テーブルタグチュートリアル (11): 水平方向の配置属性 ALIGN

水平方向では、テーブルの配置を左、中央、右に設定できます。基本的な構文<テーブル配置=&quo...

Docker ベースの ELK ログ システムを構築する方法

背景要件:ビジネスがどんどん大きくなると、サーバーの数も増え、さまざまなアクセスログ、アプリケーショ...

CSS チュートリアル: CSS 属性メディア タイプ

スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...

キーフリーログインプロセスを実現するためのLinux構成の分析

1.sshコマンドLinux では、ssh コマンドを使用して別のサーバーにログインできます。 2 ...

Docker Tomcat のアクセス インターフェイスが表示されないのはなぜですか?

質問:オリジン サーバーはターゲット リソースの表現を見つけることができないか、既存の表現を公開した...

Dockerでの接続例外中のエラーを解決する

Docker を初めて使い始めると、通常とは異なる問題に遭遇して、必然的に混乱してしまいます。大丈夫...

MySQL の lru リンク リストの簡単な分析

1. 従来のLRUリンクリストについて簡単に説明するLRU:最も最近使われなかったものLRU リンク...

win10環境でDockerをインストールする実装

1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...

WeChat アプレット uniapp は左スワイプによる削除効果を実現します (完全なコード)

WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...

レスポンシブWebデザイン学習(3) - モバイルデバイスでのWebページのパフォーマンスを向上させる方法

序文モバイル デバイスでは、帯域幅とプロセッサ速度の制限により、Web ページのパフォーマンスに対す...

アリババの中秋節ロゴとウェブサイトのデザインプロセス

<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...