diff --git a/.goreleaser.yml b/.goreleaser.yml index 4f6cd02..d2fda22 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -25,19 +25,6 @@ dockers: - "quay.io/wagoodman/dive:v{{ .Major }}" - "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}" - "quay.io/wagoodman/dive:latest" - - - binaries: - - dive - dockerfile: Dockerfile.full - image_templates: - - "wagoodman/dive:{{ .Tag }}-full" - - "wagoodman/dive:v{{ .Major }}-full" - - "wagoodman/dive:v{{ .Major }}.{{ .Minor }}-full" - - "wagoodman/dive:full" - - "quay.io/wagoodman/dive:{{ .Tag }}-full" - - "quay.io/wagoodman/dive:v{{ .Major }}-full" - - "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}-full" - - "quay.io/wagoodman/dive:full" archive: format: tar.gz diff --git a/Dockerfile b/Dockerfile index cfda029..6a7e7f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,12 @@ -FROM alpine:3.10 -COPY dist/dive_linux_amd64/dive / -ENTRYPOINT ["/dive"] +FROM debian:sid-slim +RUN apt-get update && apt-get install -y \ + curl \ + libdevmapper1.02.1 \ + libgpgme11-dev \ + && rm -rf /var/lib/apt/lists/* \ + && ln -s /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 /usr/lib/libdevmapper.so.1.02 +ARG DOCKER_CLI_VERSION="19.03.1" +RUN curl -L https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_CLI_VERSION.tgz | \ + tar -xz --strip-component=1 -C /usr/local/bin/ docker/docker +COPY dist/dive_linux_amd64/dive /usr/local/bin/ +ENTRYPOINT ["/usr/local/bin/dive"] diff --git a/Dockerfile.full b/Dockerfile.full deleted file mode 100644 index 600c887..0000000 --- a/Dockerfile.full +++ /dev/null @@ -1,7 +0,0 @@ -FROM alpine:3.10 -ARG DOCKER_CLI_VERSION="19.03.1" -RUN apk --update add curl &&\ - curl -L https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_CLI_VERSION.tgz | \ - tar -xzf - docker/docker --strip-component=1 -C /tmp -COPY dist/dive_linux_amd64/dive / -ENTRYPOINT ["/dive"] diff --git a/runtime/run.go b/runtime/run.go index 3da39ce..0c8d08a 100644 --- a/runtime/run.go +++ b/runtime/run.go @@ -32,6 +32,7 @@ func run(enableUi bool, options Options, imageResolver image.Resolver, events ev return } } else { + events.message(utils.TitleFormat("Image Source: ") + options.Source.String() + "://" + options.Image) events.message(utils.TitleFormat("Fetching image...") + " (this can take a while for large images)") img, err = imageResolver.Fetch(options.Image) if err != nil { diff --git a/runtime/run_test.go b/runtime/run_test.go index 9f71472..b188e22 100644 --- a/runtime/run_test.go +++ b/runtime/run_test.go @@ -105,6 +105,7 @@ func TestRun(t *testing.T) { BuildArgs: nil, }, events: []testEvent{ + {stdout: "Image Source: docker://dive-example", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Fetching image... (this can take a while for large images)", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Analyzing image...", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Building cache...", stderr: "", errorOnExit: false, errMessage: ""}, @@ -122,6 +123,7 @@ func TestRun(t *testing.T) { BuildArgs: []string{}, }, events: []testEvent{ + {stdout: "Image Source: docker://dive-example", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Fetching image... (this can take a while for large images)", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Analyzing image...", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Building cache...", stderr: "", errorOnExit: false, errMessage: ""}, @@ -154,6 +156,7 @@ func TestRun(t *testing.T) { BuildArgs: nil, }, events: []testEvent{ + {stdout: "Image Source: docker://dive-example", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "Fetching image... (this can take a while for large images)", stderr: "", errorOnExit: false, errMessage: ""}, {stdout: "", stderr: "cannot fetch image", errorOnExit: true, errMessage: "some fetch failure"}, },