events

使い方: docker events [オプション]

サーバからリアルタイムのイベントを取得

  -f, --filter=[]    指定した状態に基づき出力をフィルタ
  --help             使い方の表示
  --since=""         タイムスタンプ以降に発生した全てのイベントを表示
  --until=""         タイムスタンプまで発生したイベントを表示

Docker コンテナは以下のイベントを報告します。

attach, commit, copy, create, destroy, detach, die, exec_create, exec_start, exec_detach, export, kill, oom, pause, rename, resize, restart, start, stop, top, unpause, update

Docker イメージは以下のイベントを報告します。

delete, import, load, pull, push, save, tag, untag

Docker ボリュームは以下のイベントを報告します。

create, mount, unmount, destroy

Docker ネットワークは以下のイベントを報告します。

create, connect, disconnect, destroy

Docker デーモンは以下のイベントを報告します。

reload

--since--until パラメータでは、 Unix タイムスタンプ、 RFC 3339 の dates 、Go 言語の期間文字列(例: 10m1h30m )をクライアントのマシン時刻から相対的に扱えます。 --since オプションを指定しなければ、コマンドは新しく追加されたか現在のイベントのみ表示します。

フィルタリング

フィルタリング・フラグ( -f--filter )は key=value の形式です。複数のフィルタを使いたい場合は、複数回フラグを指定します(例: --filter "foo=bar" --filter "bif=baz" )。

同じフィルタを複数回指定したら、「OR」(または)という条件として処理します。例えば --filter container=588a23dac085 --filter container=a8f7720b8c22 は、コンテナ 588a23dac085 かコンテナ a8f7720b8c22 のイベントを表示します。

複数のフィルタを使えば、「AND」(および)という条件として処理します。例えば --filter container=588a23dac085 --filter event=start は、コンテナ 588a23dac085 のイベントタイプが start のイベントのみ表示します。

現時点でサポートされているフィルタは次の通りです。

  • コンテナ( container=<名前か ID>
  • イベント( event=<イベント・タイプ>
  • イメージ( image=<タグか ID>
  • ラベル( label=<key> または label=<key>=<value>
  • タイプ ( type=<container image volume network daemon>
  • ボリューム( volume=<名前か ID>
  • ネットワーク( network=<名前か ID>
  • デーモン( daemon=<名前か ID>

この例には2つのシェルが必要です。

シェル1:イベント一覧を表示:

$ docker events

シェル2:コンテナを開始して停止

$ docker start 4386fb97867d
$ docker stop 4386fb97867d
$ docker stop 7805c1d35632

シェル1:(再度実行したら、イベントを表示)

2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) start
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

時間を指定したら、過去のイベントを表示:

$ docker events --since 1378216169
2014-03-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-03-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

$ docker events --since '2013-09-03'
2014-09-03T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) start
2014-09-03T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-09-03T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

$ docker events --since '2013-09-03T15:49:29'
2014-09-03T15:49:29.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-09-03T15:49:29.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

この例では、過去3分間に発生した全イベントを表示しています。クライアント側のマシン上からの相対的な時間です。

$ docker events --since '3m'
2015-05-12T11:51:30.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2015-05-12T15:52:12.999999999Z07:00 4 4386fb97867d: (from ubuntu-1:14.04) stop
2015-05-12T15:53:45.999999999Z07:00  7805c1d35632: (from redis:2.8) die
2015-05-12T15:54:03.999999999Z07:00  7805c1d35632: (from redis:2.8) stop

イベントをフィルタします:

$ docker events --filter 'event=stop'
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-09-03T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

$ docker events --filter 'image=ubuntu-1:14.04'
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) start
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop

$ docker events --filter 'container=7805c1d35632'
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-09-03T15:49:29.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

$ docker events --filter 'container=7805c1d35632' --filter 'container=4386fb97867d'
2014-09-03T15:49:29.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-09-03T15:49:29.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

$ docker events --filter 'container=7805c1d35632' --filter 'event=stop'
2014-09-03T15:49:29.999999999Z07:00 7805c1d35632: (from redis:2.8) stop

$ docker events --filter 'container=container_1' --filter 'container=container_2'
2014-09-03T15:49:29.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die
2014-05-10T17:42:14.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop
2014-05-10T17:42:14.999999999Z07:00 7805c1d35632: (from redis:2.8) die
2014-09-03T15:49:29.999999999Z07:00 7805c1d35632: (from redis:2.8) stop