make slim image default, provide fully featured image
This commit is contained in:
parent
f2b2d38622
commit
65f87b00a9
@ -24,7 +24,18 @@ dockers:
|
||||
- "quay.io/wagoodman/dive:v{{ .Major }}"
|
||||
- "quay.io/wagoodman/dive:v{{ .Major }}.{{ .Minor }}"
|
||||
- "quay.io/wagoodman/dive:latest"
|
||||
|
||||
-
|
||||
binary: 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
|
||||
|
||||
|
12
Dockerfile
12
Dockerfile
@ -1,15 +1,3 @@
|
||||
FROM alpine:3.10
|
||||
|
||||
ARG DOCKER_CLI_VERSION="19.03.1"
|
||||
ENV DOWNLOAD_URL="https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_CLI_VERSION.tgz"
|
||||
|
||||
RUN apk --update add curl \
|
||||
&& mkdir -p /tmp/download \
|
||||
&& curl -L $DOWNLOAD_URL | tar -xz -C /tmp/download \
|
||||
&& mv /tmp/download/docker/docker /usr/local/bin/ \
|
||||
&& rm -rf /tmp/download \
|
||||
&& apk del curl \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
COPY dive /
|
||||
ENTRYPOINT ["/dive"]
|
||||
|
15
Dockerfile.full
Normal file
15
Dockerfile.full
Normal file
@ -0,0 +1,15 @@
|
||||
FROM alpine:3.10
|
||||
|
||||
ARG DOCKER_CLI_VERSION="19.03.1"
|
||||
ENV DOWNLOAD_URL="https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_CLI_VERSION.tgz"
|
||||
|
||||
RUN apk --update add curl \
|
||||
&& mkdir -p /tmp/download \
|
||||
&& curl -L $DOWNLOAD_URL | tar -xz -C /tmp/download \
|
||||
&& mv /tmp/download/docker/docker /usr/local/bin/ \
|
||||
&& rm -rf /tmp/download \
|
||||
&& apk del curl \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
COPY dive /
|
||||
ENTRYPOINT ["/dive"]
|
@ -100,6 +100,11 @@ func (image *dockerImageAnalyzer) Fetch() (io.ReadCloser, error) {
|
||||
}
|
||||
_, _, err = image.client.ImageInspectWithRaw(ctx, image.id)
|
||||
if err != nil {
|
||||
|
||||
if !utils.IsDockerClientAvailable() {
|
||||
return nil, fmt.Errorf("cannot find docker client executable")
|
||||
}
|
||||
|
||||
// don't use the API, the CLI has more informative output
|
||||
fmt.Println("Image not available locally. Trying to pull '" + image.id + "'...")
|
||||
err = utils.RunDockerCmd("pull", image.id)
|
||||
|
@ -6,9 +6,13 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
func IsDockerClientAvailable() bool {
|
||||
_, err := exec.LookPath("docker")
|
||||
return err == nil
|
||||
}
|
||||
|
||||
// RunDockerCmd runs a given Docker command in the current tty
|
||||
func RunDockerCmd(cmdStr string, args ...string) error {
|
||||
|
||||
allArgs := cleanArgs(append([]string{cmdStr}, args...))
|
||||
|
||||
cmd := exec.Command("docker", allArgs...)
|
||||
|
Loading…
x
Reference in New Issue
Block a user