From 7f076abe10c8ba99f16e40dad20ce754eb099930 Mon Sep 17 00:00:00 2001 From: Evgeni Gordeev Date: Thu, 16 Apr 2020 10:28:07 -0500 Subject: [PATCH 1/3] Simplify local docker build --- .dockerignore | 1 + Makefile | 3 +++ docker-compose.local.yml | 8 ++++++++ docker/local/Dockerfile | 20 ++++++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 .dockerignore create mode 100644 docker-compose.local.yml create mode 100644 docker/local/Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..849ddff --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +dist/ diff --git a/Makefile b/Makefile index c93de4a..c93fdad 100644 --- a/Makefile +++ b/Makefile @@ -31,3 +31,6 @@ build: -w /go/src/github.com/pottava/aws-s3-proxy \ supinf/go-gox:1.11 --osarch "linux/amd64 darwin/amd64 windows/amd64" \ -ldflags "-s -w" -output "dist/{{.OS}}_{{.Arch}}" + +build-local: + @docker-compose -f docker-compose.local.yml build diff --git a/docker-compose.local.yml b/docker-compose.local.yml new file mode 100644 index 0000000..005cb4b --- /dev/null +++ b/docker-compose.local.yml @@ -0,0 +1,8 @@ +version: "3" + +services: + app: + build: + dockerfile: docker/local/Dockerfile + context: . + image: pottava/s3-proxy:local diff --git a/docker/local/Dockerfile b/docker/local/Dockerfile new file mode 100644 index 0000000..ff0e42b --- /dev/null +++ b/docker/local/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.13.7-alpine3.11 AS builder +RUN apk --no-cache add gcc musl-dev git +WORKDIR /go/src/github.com/pottava/aws-s3-proxy +COPY . . +ARG APP_VERSION=local +RUN go mod download +RUN go mod verify +RUN githash=$(git rev-parse --short HEAD 2>/dev/null) \ + && today=$(date +%Y-%m-%d --utc) \ + && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ + -ldflags '-s -w -X main.ver=${APP_VERSION} -X main.commit=${githash} -X main.date=${today}' \ + -o /app + +FROM alpine:3.11 AS libs +RUN apk --no-cache add ca-certificates + +FROM scratch +COPY --from=libs /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ +COPY --from=builder /app /aws-s3-proxy +ENTRYPOINT ["/aws-s3-proxy"] From ec6ecfa6e25a7d62a1e0334f3c3b9ca302c279e0 Mon Sep 17 00:00:00 2001 From: Evgeni Gordeev Date: Thu, 16 Apr 2020 10:32:02 -0500 Subject: [PATCH 2/3] parity with gitignore file --- .dockerignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.dockerignore b/.dockerignore index 849ddff..4a896de 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,3 @@ +vendor/ dist/ +docker-compose.override.yml From 65f50d3593b3fe5d0b2e4590a1bfd8f56f7ed25b Mon Sep 17 00:00:00 2001 From: Evgeni Gordeev Date: Thu, 16 Apr 2020 10:38:22 -0500 Subject: [PATCH 3/3] var expansion --- docker/local/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/local/Dockerfile b/docker/local/Dockerfile index ff0e42b..be7d134 100644 --- a/docker/local/Dockerfile +++ b/docker/local/Dockerfile @@ -8,7 +8,7 @@ RUN go mod verify RUN githash=$(git rev-parse --short HEAD 2>/dev/null) \ && today=$(date +%Y-%m-%d --utc) \ && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ - -ldflags '-s -w -X main.ver=${APP_VERSION} -X main.commit=${githash} -X main.date=${today}' \ + -ldflags "-s -w -X main.ver=${APP_VERSION} -X main.commit=${githash} -X main.date=${today}" \ -o /app FROM alpine:3.11 AS libs