From eacc0094aa6f2f38ee87d984baf12388ccf2d499 Mon Sep 17 00:00:00 2001 From: Felix Bartels Date: Sat, 31 Oct 2020 19:09:28 -0400 Subject: [PATCH] Use multi stage dockerfile for building This also adds a docker-compose.yml for easy running and rebuilding Signed-off-by: Felix Bartels --- .dockerignore | 3 +++ Dockerfile | 21 +++++++++++++++++++++ docker-compose.yml | 8 ++++++++ docker/Dockerfile | 14 -------------- 4 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml delete mode 100644 docker/Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..989d80b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.dockerignore +.git +Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..696edca --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM golang:1.15-alpine3.12 as builder + +WORKDIR /build + +RUN apk add git +RUN go get github.com/GeertJohan/go.rice/rice + +COPY go.* ./ +RUN go mod download +COPY . . + +RUN rice embed-go +RUN CGO_ENABLED=0 go build + +FROM scratch +EXPOSE 80 443 + +COPY --from=builder /build/boringproxy / + +ENTRYPOINT ["/boringproxy"] +CMD ["server"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..07e3f88 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3.5' +services: + boringproxy: + build: ./ + image: boringproxy + ports: + - "80:80" + - "443:443" diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index 3daffff..0000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && apt-get install -y curl git - -RUN git clone https://github.com/boringproxy/boringproxy -WORKDIR boringproxy -RUN ./install_go.sh -ENV PATH="${PATH}:/usr/local/go/bin" -ENV PATH="${PATH}:/root/go/bin" -RUN go get github.com/GeertJohan/go.rice/rice -RUN rice embed-go -RUN go build - -CMD ./boringproxy server