eventsコマンドの使い方の紹介ページです。ver17.12.1に対応しております。eventsコマンドは、dockerデーモン内で発生したイベントを取得して、そのサマリー情報を出力することが可能です。取得可能はイベントは、コンテナの場合はstart、stop、createなど、Dockerイメージの場合はpull、delete、importなどがあります。それでは以下で詳細に解説いたします。以下の実例は、Apacheの公式イメージにより起動したコンテナ(testvm)を使用します。httpd」で起動します。発生したイベントをリアルタイムに出力する以下のコマンドを実行しますと、それ以降で発生したイベントがリアルタイムに出力されます。eventsイベントが発生すると出力され、発生していない時は待ち状態(プロンプトが戻らない)になります。終了する場合は「Ctrl」と「c」を同時に押してください。eventsコマンドを実行したターミナルとは別のターミナルを起動して、以下のコマンドを実行します。eventsコマンドを実行したターミナルには、以下の内容が出力されました。name=testvm)1行ごとに1つのイベントが出力されてます。フォーマットは以下の通りです。<(追加情報)><発生時刻>は、各イベントの発生時刻がRFC3339の形式にて出力されます。<カテゴリ>は、イベントの発生元のコンポーネントで、containerやimage、plugin、volume、network、daemonなどがあります<イベント>は、start、stop、createなど、上の各カテゴリで発生した事象が出力されます。<対象のID>は、カテゴリがcontainer(コンテナ)であれば、対象のコンテナIDが、network(ネットワーク)であれば、対象のネットワークIDが、というように対象カテゴリのIDが出力されます。<(追加情報)>には、各イベント毎の補足情報が出力されます。コンテナがcreate(生成)された場合は、使用イメージ名およびコンテナ名が出力されます。eventsコマンドを実行した時以降のイベントが出力されますが、「--since」オプションで時刻を指定すると、その指定した時刻までさかのぼって、その時刻以降のイベントが出力されます。時刻を指定する場合、時分秒が一桁の場合は0を補って指定してください。(例:×3、○03)時刻の指定は、RFC3339形式やUNIXタイムスタンプで特定の時刻を指定する方法、「2h30m」や「50s」などのように、現時点からさかのぼる時間を指定する方法があります。現在、前項「発生したイベントをリアルタイムに出力する」の内容のイベントが発生していたとします。その状態で以下のコマンドを実行します。"2016-10-17T15:40:40"「--since」オプションで、2016年10月17日15時40分40秒以降のイベントを出力するように指定したことになります。コマンドを実行した結果、以下の内容が出力されて、イベント出力待ち状態になりました。name=testvm)2016年10月17日15時40分40秒以前のイベントは出力されていないことがわかります。以下のように「--since」オプションの指定をすることも可能です。"50m"これは、コマンドを実行した時点から50分前以降のイベントを出力するための指定です。指定した時刻までのイベントを出力する「--since」オプションで時刻を指定すると、指定した時刻以降のイベントが出力されますが、「--until」オプションで時刻を指定した場合、指定した時刻までのイベントが出力されます。指定可能な形式は「--since」オプションと同様で、RFC3339形式やUNIXタイムスタンプで特定の時刻を指定する方法、「2h30m」や「50s」などのように、現時点からさかのぼる時間を指定する方法があります。「--since」オプションと同じコマンドで試してみます。「since」と「until」が異なるだけで、他は同じです。"2016-10-17T15:40:40"今度は以下の内容が出力されました。name=testvm)「--since」オプションを指定した時は出力されていた2016年10月17日15時40分42秒のイベントは出力されず、2016年10月17日15時40分29秒に発生したイベントが出力されました。eventsコマンドの処理が終了して、プロンプトが戻ってきました。このように、「--until」オプションで時刻を指定した場合、指定した時刻までのイベントを出力して、コマンドの処理が終了します。余談ですが、試しに、「--until」オプションで、未来の時刻を指定して実行してみたところ、イベント出力待ち状態になりました。eventsコマンドが終了して、プロンプトが戻ってきました。イベントをフィルタリングして出力するデフォルトでは全てのイベントが出力されますが、フィルターオプションを使用することで、特定のイベントのみ出力することが出来ます。フィルターは以下のフォーマットで指定します。<キー>=<値>例えば、container=testvmのように指定します。以下のコマンドを実行すると、コンテナ名がtestvmのイベントのみが出力されます。container=testvm複数のフィルターを指定することが可能です。次の例は、コンテナ名がtestvmでstopイベントのみ出力します。event=stop上の例のように、キーが異なるフィルターを複数指定した場合は、AND条件として扱われます。今度は、次の例のように、同じキーのフィルターを複数指定します。container=httptest同じキーを指定した場合は、OR条件として扱われます。この場合は、コンテナ名がtestvmとhttptestのイベントが出力されます。eventsコマンドでサポートされているフィルターは以下の通りです。余談ですが、フィルターでコンテナ名を指定した場合、検索されるイベントは、コンテナ名の前方一致として検索されるようです。「container=testvm」とフィルターを指定した場合、testvm2やtestvmhttpなどの名前のコンテナのイベントも出力されました。pretestvmなどの名前のコンテナのイベントは出力されませんでした。この仕様に関しましては、Docker公式ドキュメントで記載が見当たらなかったため、不確定情報としてご承知ください。同じキーと異なるキーが混在したフィルターを指定した際の仕様についても記載がありませんでした。eventsコマンドの紹介を終わります。ご指摘、ご要望などが御座いましたらコメントいただけるとうれしいです。他のDockerコマンドの実例付紹介記事は、本サイト内の別記事「Dockerのコマンドの一覧(ver1.12対応版)(オリジナルな実例付き)」をご参照ください。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。テニス、作品鑑賞(映画、アニメ、ドラマ、絵画など)、讃岐うどん食べ歩き。コンピュータ業界に身を置く中年おやじです。世の中にはまだ自分が知らない情報があふれていて、知っているつもりでも全体の半分も知らないことがいっぱいあります。見つけた情報はGoogleKeepにメモる毎日です。ある日、自分が良いと思うことは、同じように感じる方も、数は少ないかもしれないけどいるはず、と思いまして、そのことが本サイト「めもたんす」を作るきっかけとなりました。自分がいいなと思ったことを記事にまとめたサイトです。technology.。