1
1
# Build docker-gen from scratch
2
- FROM golang:1.14-alpine as dockergen
3
- RUN apk add --no-cache git
2
+ FROM golang:1.16-alpine as go-builder
4
3
5
- # Download the sources for the given version
6
- ENV VERSION 0.7.5
7
- ADD https://github.com/jwilder/docker-gen/archive/${VERSION}.tar.gz sources.tar.gz
4
+ ARG VERSION=master
8
5
9
- # Move the sources into the right directory
10
- RUN tar -xzf sources.tar.gz && \
11
- mkdir -p /go/src/github.com/jwilder/ && \
12
- mv docker-gen-* /go/src/github.com/jwilder/docker-gen
6
+ WORKDIR /build
13
7
14
- # Install the dependencies and make the docker-gen executable
15
- WORKDIR /go/src/github.com/jwilder/docker-gen
16
- RUN CGO_ENABLED=0 go build -ldflags "-X main.buildVersion=${VERSION}" ./cmd/docker-gen
8
+ # Install the dependencies
9
+ COPY . .
10
+ RUN go mod download -json
17
11
18
- FROM alpine:latest
19
- LABEL maintainer=
"Jason Wilder <[email protected] >"
12
+ # Build the docker-gen executable
13
+ RUN CGO_ENABLED=0 go build -ldflags "-X main.buildVersion=${VERSION}" -o docker-gen ./cmd/docker-gen
14
+
15
+ FROM alpine:3.13
20
16
21
- RUN apk -U add openssl
17
+ LABEL maintainer= "Jason Wilder <[email protected] >"
22
18
23
- ENV VERSION 0.7.5
24
- COPY --from=dockergen /go/src/github.com/jwilder/docker-gen/docker-gen /usr/local/bin/docker-gen
25
19
ENV DOCKER_HOST unix:///tmp/docker.sock
26
20
21
+ # Install packages required by the image
22
+ RUN apk add --no-cache --virtual .bin-deps openssl
23
+
24
+ # Install docker-gen from build stage
25
+ COPY --from=go-builder /build/docker-gen /usr/local/bin/docker-gen
27
26
28
- ENTRYPOINT ["/usr/local/bin/docker-gen" ]
27
+ ENTRYPOINT ["/usr/local/bin/docker-gen" ]
0 commit comments