forked from TrueCloudLab/lego
Optimized Dockerfile for smaller image size
I have modified the official Dockerfile and made two changes - Each RUN instruction creates an additional layer in the docker image. Adding files in one RUN instruction and deleting it in another RUN instruction will not reduce the size of the image. I used a single RUN command so that all the package/file removal happens in the same command in which the package installation happens, so that no additional layers are created. - Similar to RUN statement, ADD instruction also creates an additional layer. Using git clone in the RUN statement and deleting it within the same statement ensures that an additional layer with source files is not added.
This commit is contained in:
parent
684400fe76
commit
8482f665f6
1 changed files with 7 additions and 10 deletions
17
Dockerfile
17
Dockerfile
|
@ -3,15 +3,12 @@ FROM alpine:3.3
|
||||||
ENV GOPATH /go
|
ENV GOPATH /go
|
||||||
|
|
||||||
RUN apk update && apk add ca-certificates go git && \
|
RUN apk update && apk add ca-certificates go git && \
|
||||||
rm -rf /var/cache/apk/*
|
rm -rf /var/cache/apk/* && \
|
||||||
|
go get -u github.com/xenolf/lego && \
|
||||||
COPY . /go/src/github.com/xenolf/lego
|
cd /go/src/github.com/xenolf/lego && \
|
||||||
|
go build -o /usr/bin/lego . && \
|
||||||
RUN cd /go/src/github.com/xenolf/lego && \
|
apk del ca-certificates go git && \
|
||||||
go get ./... && \
|
rm -rf /var/cache/apk/* && \
|
||||||
go build -o /usr/bin/lego . && \
|
rm -rf /go
|
||||||
apk del ca-certificates go git && \
|
|
||||||
rm -rf /var/cache/apk/* && \
|
|
||||||
rm -rf /go
|
|
||||||
|
|
||||||
ENTRYPOINT [ "/usr/bin/lego" ]
|
ENTRYPOINT [ "/usr/bin/lego" ]
|
||||||
|
|
Loading…
Reference in a new issue