2015-06-21 16:41:38 -04:00
# history
2023-01-06 13:04:05 -05:00
<!-- - MARKER_GEN_START -->
2016-07-07 14:43:18 -04:00
Show the history of an image
2015-06-21 16:41:38 -04:00
2023-01-06 13:04:05 -05:00
### Aliases
`docker image history` , `docker history`
### Options
| Name | Type | Default | Description |
|:----------------------|:---------|:--------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`--format` ](#format ) | `string` | | Format output using a custom template:< br > 'table': Print output in table format with column headers (default)< br > 'table TEMPLATE': Print output in table format using the given Go template< br > 'json': Print in JSON format< br > 'TEMPLATE': Print output using the given Go template.< br > Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates |
| `-H` , `--human` | | | Print sizes and dates in human readable format |
| `--no-trunc` | | | Don't truncate output |
| `-q` , `--quiet` | | | Only show image IDs |
cli: use custom annotation for aliases
Cobra allows for aliases to be defined for a command, but only allows these
to be defined at the same level (for example, `docker image ls` as alias for
`docker image list`). Our CLI has some commands that are available both as a
top-level shorthand as well as `docker <object> <verb>` subcommands. For example,
`docker ps` is a shorthand for `docker container ps` / `docker container ls`.
This patch introduces a custom "aliases" annotation that can be used to print
all available aliases for a command. While this requires these aliases to be
defined manually, in practice the list of aliases rarely changes, so maintenance
should be minimal.
As a convention, we could consider the first command in this list to be the
canonical command, so that we can use this information to add redirects in
our documentation in future.
Before this patch:
docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
-a, --all Show all images (default hides intermediate images)
...
With this patch:
docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Aliases:
docker image ls, docker image list, docker images
Options:
-a, --all Show all images (default hides intermediate images)
...
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-06-28 04:52:25 -04:00
2015-06-21 16:41:38 -04:00
2023-01-06 13:04:05 -05:00
<!-- - MARKER_GEN_END -->
2017-02-07 18:42:48 -05:00
## Examples
2015-06-21 16:41:38 -04:00
To see how the `docker:latest` image was built:
2021-08-21 08:54:14 -04:00
```console
2017-02-07 18:42:48 -05:00
$ docker history docker
IMAGE CREATED CREATED BY SIZE COMMENT
3e23a5875458 8 days ago /bin/sh -c #(nop) ENV LC_ALL=C.UTF-8 0 B
8578938dd170 8 days ago /bin/sh -c dpkg-reconfigure locales & & loc 1.245 MB
be51b77efb42 8 days ago /bin/sh -c apt-get update & & apt-get install 338.3 MB
4b137612be55 6 weeks ago /bin/sh -c #(nop) ADD jessie.tar.xz in / 121 MB
750d58736b4b 6 weeks ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi < ad 0 B
511136ea3c5a 9 months ago 0 B Imported from -
```
2015-06-21 16:41:38 -04:00
To see how the `docker:apache` image was added to a container's base image:
2021-08-21 08:54:14 -04:00
```console
2017-02-07 18:42:48 -05:00
$ docker history docker:scm
IMAGE CREATED CREATED BY SIZE COMMENT
2ac9d1098bf1 3 months ago /bin/bash 241.4 MB Added Apache to Fedora base image
88b42ffd1f7c 5 months ago /bin/sh -c #(nop) ADD file:1fd8d7f9f6557cafc7 373.7 MB
c69cab00d6ef 5 months ago /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar 0 B
511136ea3c5a 19 months ago 0 B Imported from -
```
2017-02-12 14:22:01 -05:00
2023-01-06 13:28:29 -05:00
### <a name="format"></a> Format the output (--format)
2017-02-12 14:22:01 -05:00
2017-04-16 13:51:29 -04:00
The formatting option (`--format`) will pretty-prints history output
2017-02-12 14:22:01 -05:00
using a Go template.
Valid placeholders for the Go template are listed below:
2022-03-30 08:33:44 -04:00
| Placeholder | Description |
|-----------------|-----------------------------------------------------------------------------------------------------------|
| `.ID` | Image ID |
2017-04-16 13:51:29 -04:00
| `.CreatedSince` | Elapsed time since the image was created if `--human=true` , otherwise timestamp of when image was created |
2022-03-30 08:33:44 -04:00
| `.CreatedAt` | Timestamp of when image was created |
| `.CreatedBy` | Command that was used to create the image |
| `.Size` | Image disk size |
| `.Comment` | Comment for image |
2017-02-12 14:22:01 -05:00
2023-12-13 09:16:56 -05:00
When using the `--format` option, the `history` command either
outputs the data exactly as the template declares or, when using the
`table` directive, includes column headers as well.
2017-02-12 14:22:01 -05:00
The following example uses a template without headers and outputs the
2020-04-19 11:23:09 -04:00
`ID` and `CreatedSince` entries separated by a colon (`:`) for the `busybox`
image:
2017-02-12 14:22:01 -05:00
2021-08-21 08:54:14 -04:00
```console
2018-07-04 17:00:21 -04:00
$ docker history --format "{{.ID}}: {{.CreatedSince}}" busybox
2018-04-02 19:07:40 -04:00
f6e427c148a7: 4 weeks ago
< missing > : 4 weeks ago
2017-04-16 13:51:29 -04:00
```