Rebase + some fixes
Signed-off-by: Tibor Vass <tibor@docker.com>
This commit is contained in:
parent
8d682bf734
commit
fa2ace00a8
|
@ -54,7 +54,7 @@ func (cli *DockerCli) CmdHistory(args ...string) error {
|
||||||
fmt.Fprintf(w, "%s\t", utils.Trunc(entry.CreatedBy, 45))
|
fmt.Fprintf(w, "%s\t", utils.Trunc(entry.CreatedBy, 45))
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, "%s\t", units.HumanSize(float64(entry.Size)))
|
fmt.Fprintf(w, "%s\t", units.HumanSize(float64(entry.Size)))
|
||||||
fmt.Fprintf(w, "%s\n", entry.Comment)
|
fmt.Fprintf(w, "%s", entry.Comment)
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, "\n")
|
fmt.Fprintf(w, "\n")
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,21 +26,13 @@ Show the history of when and how an image was created.
|
||||||
Only show numeric IDs. The default is *false*.
|
Only show numeric IDs. The default is *false*.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
<<<<<<< HEAD
|
|
||||||
$ docker history fedora
|
$ docker history fedora
|
||||||
IMAGE CREATED CREATED BY SIZE
|
|
||||||
=======
|
|
||||||
|
|
||||||
## Show the history of images created through docker build command
|
|
||||||
|
|
||||||
$ sudo docker history fedora
|
|
||||||
IMAGE CREATED CREATED BY SIZE COMMENT
|
IMAGE CREATED CREATED BY SIZE COMMENT
|
||||||
>>>>>>> Add comment column in docker history command output
|
|
||||||
105182bb5e8b 5 days ago /bin/sh -c #(nop) ADD file:71356d2ad59aa3119d 372.7 MB
|
105182bb5e8b 5 days ago /bin/sh -c #(nop) ADD file:71356d2ad59aa3119d 372.7 MB
|
||||||
73bd853d2ea5 13 days ago /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar 0 B
|
73bd853d2ea5 13 days ago /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar 0 B
|
||||||
511136ea3c5a 10 months ago 0 B Imported from -
|
511136ea3c5a 10 months ago 0 B Imported from -
|
||||||
|
|
||||||
## Show the history of images created through docker commit command
|
## Display comments in the image history
|
||||||
The `docker commit` command has a **-m** flag for adding comments to the image. These comments will be displayed in the image history.
|
The `docker commit` command has a **-m** flag for adding comments to the image. These comments will be displayed in the image history.
|
||||||
|
|
||||||
$ sudo docker history docker:scm
|
$ sudo docker history docker:scm
|
||||||
|
|
|
@ -1151,17 +1151,7 @@ This will create a new Bash session in the container `ubuntu_bash`.
|
||||||
|
|
||||||
To see how the `docker:latest` image was built:
|
To see how the `docker:latest` image was built:
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
$ docker history docker
|
$ docker history docker
|
||||||
IMAGE CREATED CREATED BY SIZE
|
|
||||||
3e23a5875458790b7a806f95f7ec0d0b2a5c1659bfc899c89f939f6d5b8f7094 8 days ago /bin/sh -c #(nop) ENV LC_ALL=C.UTF-8 0 B
|
|
||||||
8578938dd17054dce7993d21de79e96a037400e8d28e15e7290fea4f65128a36 8 days ago /bin/sh -c dpkg-reconfigure locales && locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8 1.245 MB
|
|
||||||
be51b77efb42f67a5e96437b3e102f81e0a1399038f77bf28cea0ed23a65cf60 8 days ago /bin/sh -c apt-get update && apt-get install -y git libxml2-dev python build-essential make gcc python-dev locales python-pip 338.3 MB
|
|
||||||
4b137612be55ca69776c7f30c2d2dd0aa2e7d72059820abf3e25b629f887a084 6 weeks ago /bin/sh -c #(nop) ADD jessie.tar.xz in / 121 MB
|
|
||||||
750d58736b4b6cc0f9a9abe8f258cef269e3e9dceced1146503522be9f985ada 6 weeks ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi <admwiggin@gmail.com> - mkimage-debootstrap.sh -t jessie.tar.xz jessie http://http.debian.net/debian 0 B
|
|
||||||
511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158 9 months ago 0 B
|
|
||||||
=======
|
|
||||||
$ sudo docker history docker
|
|
||||||
IMAGE CREATED CREATED BY SIZE COMMENT
|
IMAGE CREATED CREATED BY SIZE COMMENT
|
||||||
3e23a5875458 8 days ago /bin/sh -c #(nop) ENV LC_ALL=C.UTF-8 0 B
|
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
|
8578938dd170 8 days ago /bin/sh -c dpkg-reconfigure locales && loc 1.245 MB
|
||||||
|
@ -1172,14 +1162,13 @@ To see how the `docker:latest` image was built:
|
||||||
|
|
||||||
To see how the `docker:apache` image was added to a container's base image:
|
To see how the `docker:apache` image was added to a container's base image:
|
||||||
|
|
||||||
$ sudo docker history docker:scm
|
$ docker history docker:scm
|
||||||
IMAGE CREATED CREATED BY SIZE COMMENT
|
IMAGE CREATED CREATED BY SIZE COMMENT
|
||||||
2ac9d1098bf1 3 months ago /bin/bash 241.4 MB Added Apache to Fedora base image
|
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
|
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
|
c69cab00d6ef 5 months ago /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar 0 B
|
||||||
511136ea3c5a 19 months ago 0 B Imported from -
|
511136ea3c5a 19 months ago 0 B Imported from -
|
||||||
|
|
||||||
>>>>>>> Add comment column in docker history command output
|
|
||||||
|
|
||||||
## images
|
## images
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ package main
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"regexp"
|
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
@ -85,46 +84,43 @@ func TestHistoryNonExistentImage(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHistoryImageWithComment(t *testing.T) {
|
func TestHistoryImageWithComment(t *testing.T) {
|
||||||
|
name := "testhistoryimagewithcomment"
|
||||||
|
defer deleteContainer(name)
|
||||||
|
defer deleteImages(name)
|
||||||
|
|
||||||
// make a image through docker commit <container id> [ -m messages ]
|
// make a image through docker commit <container id> [ -m messages ]
|
||||||
runCmd := exec.Command(dockerBinary, "run", "-i", "-a", "stdin", "busybox", "echo", "foo")
|
//runCmd := exec.Command(dockerBinary, "run", "-i", "-a", "stdin", "busybox", "echo", "foo")
|
||||||
out, _, _, err := runCommandWithStdoutStderr(runCmd)
|
runCmd := exec.Command(dockerBinary, "run", "--name", name, "busybox", "true")
|
||||||
|
out, _, err := runCommandWithOutput(runCmd)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to run container: %s, %v", out, err)
|
t.Fatalf("failed to run container: %s, %v", out, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanedContainerID := stripTrailingCharacters(out)
|
waitCmd := exec.Command(dockerBinary, "wait", name)
|
||||||
|
if out, _, err := runCommandWithOutput(waitCmd); err != nil {
|
||||||
waitCmd := exec.Command(dockerBinary, "wait", cleanedContainerID)
|
|
||||||
if _, _, err = runCommandWithOutput(waitCmd); err != nil {
|
|
||||||
t.Fatalf("error thrown while waiting for container: %s, %v", out, err)
|
t.Fatalf("error thrown while waiting for container: %s, %v", out, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
commitCmd := exec.Command(dockerBinary, "commit", "-m=This is a comment", cleanedContainerID)
|
comment := "This_is_a_comment"
|
||||||
out, _, err = runCommandWithOutput(commitCmd)
|
|
||||||
if err != nil {
|
commitCmd := exec.Command(dockerBinary, "commit", "-m="+comment, name, name)
|
||||||
|
if out, _, err := runCommandWithOutput(commitCmd); err != nil {
|
||||||
t.Fatalf("failed to commit container to image: %s, %v", out, err)
|
t.Fatalf("failed to commit container to image: %s, %v", out, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanedImageID := stripTrailingCharacters(out)
|
|
||||||
deleteContainer(cleanedContainerID)
|
|
||||||
defer deleteImages(cleanedImageID)
|
|
||||||
|
|
||||||
// test docker history <image id> to check comment messages
|
// test docker history <image id> to check comment messages
|
||||||
historyCmd := exec.Command(dockerBinary, "history", cleanedImageID)
|
historyCmd := exec.Command(dockerBinary, "history", name)
|
||||||
out, exitCode, err := runCommandWithOutput(historyCmd)
|
out, exitCode, err := runCommandWithOutput(historyCmd)
|
||||||
if err != nil || exitCode != 0 {
|
if err != nil || exitCode != 0 {
|
||||||
t.Fatalf("failed to get image history: %s, %v", out, err)
|
t.Fatalf("failed to get image history: %s, %v", out, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
expectedValue := "This is a comment"
|
outputTabs := strings.Fields(strings.Split(out, "\n")[1])
|
||||||
|
//outputTabs := regexp.MustCompile(" +").Split(outputLine, -1)
|
||||||
outputLine := strings.Split(out, "\n")[1]
|
|
||||||
outputTabs := regexp.MustCompile(" +").Split(outputLine, -1)
|
|
||||||
actualValue := outputTabs[len(outputTabs)-1]
|
actualValue := outputTabs[len(outputTabs)-1]
|
||||||
|
|
||||||
if !strings.Contains(actualValue, expectedValue) {
|
if !strings.Contains(actualValue, comment) {
|
||||||
t.Fatalf("Expected comments \"%s\", but found \"%s\"", expectedValue, actualValue)
|
t.Fatalf("Expected comments %q, but found %q", comment, actualValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
logDone("history - history on image with comment")
|
logDone("history - history on image with comment")
|
||||||
|
|
Loading…
Reference in New Issue