我是docker的新手,并开始玩它。 我创建了一些图片,提交了一些更改。 从
开始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
在shell中做东西,退出和
sudo docker commit -m="what I did in step N" happy_dockeruser sandbox/yves:sN+1
现在我想回到上一步图像,并希望列出执行sudo docker image -m
类似于git log
命令的所有消息。最好的方法是什么?
答案 0 :(得分:17)
您可以在之后显示的提交哈希上使用docker inspect查看提交消息。要查看更多这些内容,您必须以递归方式执行此操作。
$ docker commit -m "added test file" sick_morse
61efdbd141dc5fb1c289ed5151f3ce7b5985a5829bd92ba322ad6061cb1eee21
$ docker inspect 61efdbd141dc5fb1c289ed5151f3ce7b5985a5829bd92ba322ad6061cb1eee21 | grep added
"Comment": "added test file",
找到信息here
这可以让您查看最近3条评论的消息。
$ docker images -a --no-trunc | head -n4 | grep -v "IMAGE ID" | awk '{ print $3 }' | xargs docker inspect | grep Comment
答案 1 :(得分:16)
为了简单起见,我在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
使用快照:
答案 2 :(得分:6)
您可以使用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