如何查看docker镜像的提交信息

我是docker新手,并开始玩它。 我已经创build了一些从一些变化的图像。 开始使用

sudo docker run -i -t ubuntu /bin/bash 

做了几次安装,退出并做了

 sudo docker commit -m="my first message" innocent_dockernovice sandbox/yves:s1 

并重复这个过程

 sudo docker run -i -t sandbox/yves:sN /bin/bash 

用贝壳做东西,退出和

 sudo docker commit -m="what I did in step N" happy_dockeruser sandbox/yves:sN+1 

现在我想回到上一步的图像,并希望列出所有的消息做一个sudo docker image -m类似于一个git log之一的命令。 什么是最好的办法呢?

您可以通过在之后显示的提交散列上使用docker检查来查看提交消息。 要查看更多它们,你必须recursion地做。

 $ docker commit -m "added test file" sick_morse 61efdbd141dc5fb1c289ed5151f3ce7b5985a5829bd92ba322ad6061cb1eee21 $ docker inspect 61efdbd141dc5fb1c289ed5151f3ce7b5985a5829bd92ba322ad6061cb1eee21 | grep added "Comment": "added test file", 

在这里find信息

这可以让你查看最近3条评论的消息。

 $ docker images -a --no-trunc | head -n4 | grep -v "IMAGE ID" | awk '{ print $3 }' | xargs docker inspect | grep Comment 

为了简单起见,我在github gist中做了一个简单的bash脚本: docker-log

 #!/usr/bin/env bash DOCKER=`which docker` if [ "$#" -ne 1 ]; then echo "Usage: $0 IMAGE" exit 0 fi for commit in $($DOCKER history $1 | sed 1d | awk '{ print $1 }') do content="$commit $($DOCKER inspect $commit | tr -d '\"' | grep 'Created\|Author\|Comment')" echo "$content" done 

使用快照:

在这里输入图像说明

你可以使用docker history命令:

 $ docker history <image hash> 

示例输出:

 IMAGE CREATED CREATED BY SIZE COMMENT 02c473b152e3 9 days ago /bin/bash 1.577 kB modified init.sh 39a27fe266c4 9 days ago /bin/bash 1.472 kB modified init.sh 1a8dae63b9fe 9 days ago /bin/bash 1.457 kB modified init.sh