github.com/pwn-term/docker@v0.0.0-20210616085119-6e977cce2565/cli/docs/reference/commandline/events.md (about) 1 --- 2 title: "events" 3 description: "The events command description and usage" 4 keywords: "events, container, report" 5 --- 6 7 # events 8 9 ```markdown 10 Usage: docker events [OPTIONS] 11 12 Get real time events from the server 13 14 Options: 15 -f, --filter value Filter output based on conditions provided (default []) 16 --format string Format the output using the given Go template 17 --help Print usage 18 --since string Show all events created since timestamp 19 --until string Stream events until this timestamp 20 ``` 21 22 ## Description 23 24 Use `docker events` to get real-time events from the server. These events differ 25 per Docker object type. Different event types have different scopes. Local 26 scoped events are only seen on the node they take place on, and swarm scoped 27 events are seen on all managers. 28 29 Only the last 1000 log events are returned. You can use filters to further limit 30 the number of events returned. 31 32 ### Object types 33 34 #### Containers 35 36 Docker containers report the following events: 37 38 - `attach` 39 - `commit` 40 - `copy` 41 - `create` 42 - `destroy` 43 - `detach` 44 - `die` 45 - `exec_create` 46 - `exec_detach` 47 - `exec_die` 48 - `exec_start` 49 - `export` 50 - `health_status` 51 - `kill` 52 - `oom` 53 - `pause` 54 - `rename` 55 - `resize` 56 - `restart` 57 - `start` 58 - `stop` 59 - `top` 60 - `unpause` 61 - `update` 62 63 #### Images 64 65 Docker images report the following events: 66 67 - `delete` 68 - `import` 69 - `load` 70 - `pull` 71 - `push` 72 - `save` 73 - `tag` 74 - `untag` 75 76 #### Plugins 77 78 Docker plugins report the following events: 79 80 - `enable` 81 - `disable` 82 - `install` 83 - `remove` 84 85 #### Volumes 86 87 Docker volumes report the following events: 88 89 - `create` 90 - `destroy` 91 - `mount` 92 - `unmount` 93 94 #### Networks 95 96 Docker networks report the following events: 97 98 - `create` 99 - `connect` 100 - `destroy` 101 - `disconnect` 102 - `remove` 103 104 #### Daemons 105 106 Docker daemons report the following events: 107 108 - `reload` 109 110 #### Services 111 112 Docker services report the following events: 113 114 - `create` 115 - `remove` 116 - `update` 117 118 #### Nodes 119 120 Docker nodes report the following events: 121 122 - `create` 123 - `remove` 124 - `update` 125 126 #### Secrets 127 128 Docker secrets report the following events: 129 130 - `create` 131 - `remove` 132 - `update` 133 134 #### Configs 135 136 Docker configs report the following events: 137 138 - `create` 139 - `remove` 140 - `update` 141 142 ### Limiting, filtering, and formatting the output 143 144 #### Limit events by time 145 146 The `--since` and `--until` parameters can be Unix timestamps, date formatted 147 timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed 148 relative to the client machine’s time. If you do not provide the `--since` option, 149 the command returns only new and/or live events. Supported formats for date 150 formatted time stamps include RFC3339Nano, RFC3339, `2006-01-02T15:04:05`, 151 `2006-01-02T15:04:05.999999999`, `2006-01-02Z07:00`, and `2006-01-02`. The local 152 timezone on the client will be used if you do not provide either a `Z` or a 153 `+-00:00` timezone offset at the end of the timestamp. When providing Unix 154 timestamps enter seconds[.nanoseconds], where seconds is the number of seconds 155 that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap 156 seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a 157 fraction of a second no more than nine digits long. 158 159 Only the last 1000 log events are returned. You can use filters to further limit 160 the number of events returned. 161 162 #### Filtering 163 164 The filtering flag (`-f` or `--filter`) format is of "key=value". If you would 165 like to use multiple filters, pass multiple flags (e.g., 166 `--filter "foo=bar" --filter "bif=baz"`) 167 168 Using the same filter multiple times will be handled as a *OR*; for example 169 `--filter container=588a23dac085 --filter container=a8f7720b8c22` will display 170 events for container 588a23dac085 *OR* container a8f7720b8c22 171 172 Using multiple filters will be handled as a *AND*; for example 173 `--filter container=588a23dac085 --filter event=start` will display events for 174 container container 588a23dac085 *AND* the event type is *start* 175 176 The currently supported filters are: 177 178 * config (`config=<name or id>`) 179 * container (`container=<name or id>`) 180 * daemon (`daemon=<name or id>`) 181 * event (`event=<event action>`) 182 * image (`image=<repository or tag>`) 183 * label (`label=<key>` or `label=<key>=<value>`) 184 * network (`network=<name or id>`) 185 * node (`node=<id>`) 186 * plugin (`plugin=<name or id>`) 187 * scope (`scope=<local or swarm>`) 188 * secret (`secret=<name or id>`) 189 * service (`service=<name or id>`) 190 * type (`type=<container or image or volume or network or daemon or plugin or service or node or secret or config>`) 191 * volume (`volume=<name>`) 192 193 #### Format 194 195 If a format (`--format`) is specified, the given template will be executed 196 instead of the default 197 format. Go's [text/template](http://golang.org/pkg/text/template/) package 198 describes all the details of the format. 199 200 If a format is set to `{{json .}}`, the events are streamed as valid JSON 201 Lines. For information about JSON Lines, please refer to http://jsonlines.org/. 202 203 ## Examples 204 205 ### Basic example 206 207 You'll need two shells for this example. 208 209 **Shell 1: Listening for events:** 210 211 ```bash 212 $ docker events 213 ``` 214 215 **Shell 2: Start and Stop containers:** 216 217 ```bash 218 $ docker create --name test alpine:latest top 219 $ docker start test 220 $ docker stop test 221 ``` 222 223 **Shell 1: (Again .. now showing events):** 224 225 ```console 226 2017-01-05T00:35:58.859401177+08:00 container create 0fdb48addc82871eb34eb23a847cfd033dedd1a0a37bef2e6d9eb3870fc7ff37 (image=alpine:latest, name=test) 227 2017-01-05T00:36:04.703631903+08:00 network connect e2e1f5ceda09d4300f3a846f0acfaa9a8bb0d89e775eb744c5acecd60e0529e2 (container=0fdb...ff37, name=bridge, type=bridge) 228 2017-01-05T00:36:04.795031609+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 229 2017-01-05T00:36:09.830268747+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15) 230 2017-01-05T00:36:09.840186338+08:00 container die 0fdb...ff37 (exitCode=143, image=alpine:latest, name=test) 231 2017-01-05T00:36:09.880113663+08:00 network disconnect e2e...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 232 2017-01-05T00:36:09.890214053+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 233 ``` 234 235 To exit the `docker events` command, use `CTRL+C`. 236 237 ### Filter events by time 238 239 You can filter the output by an absolute timestamp or relative time on the host 240 machine, using the following different time syntaxes: 241 242 ```bash 243 $ docker events --since 1483283804 244 2017-01-05T00:35:41.241772953+08:00 volume create testVol (driver=local) 245 2017-01-05T00:35:58.859401177+08:00 container create d9cd...4d70 (image=alpine:latest, name=test) 246 2017-01-05T00:36:04.703631903+08:00 network connect e2e1...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 247 2017-01-05T00:36:04.795031609+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 248 2017-01-05T00:36:09.830268747+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15) 249 2017-01-05T00:36:09.840186338+08:00 container die 0fdb...ff37 (exitCode=143, image=alpine:latest, name=test) 250 2017-01-05T00:36:09.880113663+08:00 network disconnect e2e...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 251 2017-01-05T00:36:09.890214053+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 252 253 $ docker events --since '2017-01-05' 254 2017-01-05T00:35:41.241772953+08:00 volume create testVol (driver=local) 255 2017-01-05T00:35:58.859401177+08:00 container create d9cd...4d70 (image=alpine:latest, name=test) 256 2017-01-05T00:36:04.703631903+08:00 network connect e2e1...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 257 2017-01-05T00:36:04.795031609+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 258 2017-01-05T00:36:09.830268747+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15) 259 2017-01-05T00:36:09.840186338+08:00 container die 0fdb...ff37 (exitCode=143, image=alpine:latest, name=test) 260 2017-01-05T00:36:09.880113663+08:00 network disconnect e2e...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 261 2017-01-05T00:36:09.890214053+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 262 263 $ docker events --since '2013-09-03T15:49:29' 264 2017-01-05T00:35:41.241772953+08:00 volume create testVol (driver=local) 265 2017-01-05T00:35:58.859401177+08:00 container create d9cd...4d70 (image=alpine:latest, name=test) 266 2017-01-05T00:36:04.703631903+08:00 network connect e2e1...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 267 2017-01-05T00:36:04.795031609+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 268 2017-01-05T00:36:09.830268747+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15) 269 2017-01-05T00:36:09.840186338+08:00 container die 0fdb...ff37 (exitCode=143, image=alpine:latest, name=test) 270 2017-01-05T00:36:09.880113663+08:00 network disconnect e2e...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 271 2017-01-05T00:36:09.890214053+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 272 273 $ docker events --since '10m' 274 2017-01-05T00:35:41.241772953+08:00 volume create testVol (driver=local) 275 2017-01-05T00:35:58.859401177+08:00 container create d9cd...4d70 (image=alpine:latest, name=test) 276 2017-01-05T00:36:04.703631903+08:00 network connect e2e1...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 277 2017-01-05T00:36:04.795031609+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 278 2017-01-05T00:36:09.830268747+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15) 279 2017-01-05T00:36:09.840186338+08:00 container die 0fdb...ff37 (exitCode=143, image=alpine:latest, name=test) 280 2017-01-05T00:36:09.880113663+08:00 network disconnect e2e...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 281 2017-01-05T00:36:09.890214053+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 282 283 $ docker events --since '2017-01-05T00:35:30' --until '2017-01-05T00:36:05' 284 2017-01-05T00:35:41.241772953+08:00 volume create testVol (driver=local) 285 2017-01-05T00:35:58.859401177+08:00 container create d9cd...4d70 (image=alpine:latest, name=test) 286 2017-01-05T00:36:04.703631903+08:00 network connect e2e1...29e2 (container=0fdb...ff37, name=bridge, type=bridge) 287 2017-01-05T00:36:04.795031609+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 288 ``` 289 290 ### Filter events by criteria 291 292 The following commands show several different ways to filter the `docker event` 293 output. 294 295 ```bash 296 $ docker events --filter 'event=stop' 297 298 2017-01-05T00:40:22.880175420+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 299 2017-01-05T00:41:17.888104182+08:00 container stop 2a8f...4e78 (image=alpine, name=kickass_brattain) 300 301 $ docker events --filter 'image=alpine' 302 303 2017-01-05T00:41:55.784240236+08:00 container create d9cd...4d70 (image=alpine, name=happy_meitner) 304 2017-01-05T00:41:55.913156783+08:00 container start d9cd...4d70 (image=alpine, name=happy_meitner) 305 2017-01-05T00:42:01.106875249+08:00 container kill d9cd...4d70 (image=alpine, name=happy_meitner, signal=15) 306 2017-01-05T00:42:11.111934041+08:00 container kill d9cd...4d70 (image=alpine, name=happy_meitner, signal=9) 307 2017-01-05T00:42:11.119578204+08:00 container die d9cd...4d70 (exitCode=137, image=alpine, name=happy_meitner) 308 2017-01-05T00:42:11.173276611+08:00 container stop d9cd...4d70 (image=alpine, name=happy_meitner) 309 310 $ docker events --filter 'container=test' 311 312 2017-01-05T00:43:00.139719934+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 313 2017-01-05T00:43:09.259951086+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15) 314 2017-01-05T00:43:09.270102715+08:00 container die 0fdb...ff37 (exitCode=143, image=alpine:latest, name=test) 315 2017-01-05T00:43:09.312556440+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test) 316 317 $ docker events --filter 'container=test' --filter 'container=d9cdb1525ea8' 318 319 2017-01-05T00:44:11.517071981+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test) 320 2017-01-05T00:44:17.685870901+08:00 container start d9cd...4d70 (image=alpine, name=happy_meitner) 321 2017-01-05T00:44:29.757658470+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=9) 322 2017-01-05T00:44:29.767718510+08:00 container die 0fdb...ff37 (exitCode=137, image=alpine:latest, name=test) 323 2017-01-05T00:44:29.815798344+08:00 container destroy 0fdb...ff37 (image=alpine:latest, name=test) 324 325 $ docker events --filter 'container=test' --filter 'event=stop' 326 327 2017-01-05T00:46:13.664099505+08:00 container stop a9d1...e130 (image=alpine, name=test) 328 329 $ docker events --filter 'type=volume' 330 331 2015-12-23T21:05:28.136212689Z volume create test-event-volume-local (driver=local) 332 2015-12-23T21:05:28.383462717Z volume mount test-event-volume-local (read/write=true, container=562f...5025, destination=/foo, driver=local, propagation=rprivate) 333 2015-12-23T21:05:28.650314265Z volume unmount test-event-volume-local (container=562f...5025, driver=local) 334 2015-12-23T21:05:28.716218405Z volume destroy test-event-volume-local (driver=local) 335 336 $ docker events --filter 'type=network' 337 338 2015-12-23T21:38:24.705709133Z network create 8b11...2c5b (name=test-event-network-local, type=bridge) 339 2015-12-23T21:38:25.119625123Z network connect 8b11...2c5b (name=test-event-network-local, container=b4be...c54e, type=bridge) 340 341 $ docker events --filter 'container=container_1' --filter 'container=container_2' 342 343 2014-09-03T15:49:29.999999999Z07:00 container die 4386fb97867d (image=ubuntu-1:14.04) 344 2014-05-10T17:42:14.999999999Z07:00 container stop 4386fb97867d (image=ubuntu-1:14.04) 345 2014-05-10T17:42:14.999999999Z07:00 container die 7805c1d35632 (imager=redis:2.8) 346 2014-09-03T15:49:29.999999999Z07:00 container stop 7805c1d35632 (image=redis:2.8) 347 348 $ docker events --filter 'type=volume' 349 350 2015-12-23T21:05:28.136212689Z volume create test-event-volume-local (driver=local) 351 2015-12-23T21:05:28.383462717Z volume mount test-event-volume-local (read/write=true, container=562fe10671e9273da25eed36cdce26159085ac7ee6707105fd534866340a5025, destination=/foo, driver=local, propagation=rprivate) 352 2015-12-23T21:05:28.650314265Z volume unmount test-event-volume-local (container=562fe10671e9273da25eed36cdce26159085ac7ee6707105fd534866340a5025, driver=local) 353 2015-12-23T21:05:28.716218405Z volume destroy test-event-volume-local (driver=local) 354 355 $ docker events --filter 'type=network' 356 357 2015-12-23T21:38:24.705709133Z network create 8b111217944ba0ba844a65b13efcd57dc494932ee2527577758f939315ba2c5b (name=test-event-network-local, type=bridge) 358 2015-12-23T21:38:25.119625123Z network connect 8b111217944ba0ba844a65b13efcd57dc494932ee2527577758f939315ba2c5b (name=test-event-network-local, container=b4be644031a3d90b400f88ab3d4bdf4dc23adb250e696b6328b85441abe2c54e, type=bridge) 359 360 $ docker events --filter 'type=plugin' 361 362 2016-07-25T17:30:14.825557616Z plugin pull ec7b87f2ce84330fe076e666f17dfc049d2d7ae0b8190763de94e1f2d105993f (name=tiborvass/sample-volume-plugin:latest) 363 2016-07-25T17:30:14.888127370Z plugin enable ec7b87f2ce84330fe076e666f17dfc049d2d7ae0b8190763de94e1f2d105993f (name=tiborvass/sample-volume-plugin:latest) 364 365 $ docker events -f type=service 366 367 2017-07-12T06:34:07.999446625Z service create wj64st89fzgchxnhiqpn8p4oj (name=reverent_albattani) 368 2017-07-12T06:34:21.405496207Z service remove wj64st89fzgchxnhiqpn8p4oj (name=reverent_albattani) 369 370 $ docker events -f type=node 371 372 2017-07-12T06:21:51.951586759Z node update 3xyz5ttp1a253q74z1thwywk9 (name=ip-172-31-23-42, state.new=ready, state.old=unknown) 373 374 $ docker events -f type=secret 375 376 2017-07-12T06:32:13.915704367Z secret create s8o6tmlnndrgzbmdilyy5ymju (name=new_secret) 377 2017-07-12T06:32:37.052647783Z secret remove s8o6tmlnndrgzbmdilyy5ymju (name=new_secret) 378 379 $ docker events -f type=config 380 2017-07-12T06:44:13.349037127Z config create u96zlvzdfsyb9sg4mhyxfh3rl (name=abc) 381 2017-07-12T06:44:36.327694184Z config remove u96zlvzdfsyb9sg4mhyxfh3rl (name=abc) 382 383 $ docker events --filter 'scope=swarm' 384 385 2017-07-10T07:46:50.250024503Z service create m8qcxu8081woyof7w3jaax6gk (name=affectionate_wilson) 386 2017-07-10T07:47:31.093797134Z secret create 6g5pufzsv438p9tbvl9j94od4 (name=new_secret) 387 ``` 388 389 ### Format the output 390 391 ```bash 392 $ docker events --filter 'type=container' --format 'Type={{.Type}} Status={{.Status}} ID={{.ID}}' 393 394 Type=container Status=create ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 395 Type=container Status=attach ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 396 Type=container Status=start ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 397 Type=container Status=resize ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 398 Type=container Status=die ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 399 Type=container Status=destroy ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 400 ``` 401 402 #### Format as JSON 403 404 ```bash 405 $ docker events --format '{{json .}}' 406 407 {"status":"create","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4.. 408 {"status":"attach","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4.. 409 {"Type":"network","Action":"connect","Actor":{"ID":"1b50a5bf755f6021dfa78e.. 410 {"status":"start","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f42.. 411 {"status":"resize","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4.. 412 ```