From e6ea3fa8ae5a373e9c941e2043466a246994a2f6 Mon Sep 17 00:00:00 2001 From: Orpheus Lummis Date: Fri, 27 Jan 2023 15:54:43 +0000 Subject: [PATCH] ci: Runner and Builder Containerfiles (#951) --- Dockerfile | 23 ----------------------- tools/defradb-builder.containerfile | 10 ++++++++++ tools/defradb.containerfile | 26 ++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 23 deletions(-) delete mode 100644 Dockerfile create mode 100644 tools/defradb-builder.containerfile create mode 100644 tools/defradb.containerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index efd4a0fd96..0000000000 --- a/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -# syntax=docker/dockerfile:1 - -# Build stage -FROM docker.io/golang:1.18 AS BUILD - -WORKDIR /app - -COPY go.mod go.sum Makefile .git ./ -RUN make deps:modules -COPY . . -RUN make build - -# Run stage -FROM gcr.io/distroless/base-debian11 -WORKDIR / - -COPY --from=BUILD /app/build/defradb /defradb - -EXPOSE 9161 -EXPOSE 9171 -EXPOSE 9181 - -CMD ["/defradb", "start"] diff --git a/tools/defradb-builder.containerfile b/tools/defradb-builder.containerfile new file mode 100644 index 0000000000..ad2da36782 --- /dev/null +++ b/tools/defradb-builder.containerfile @@ -0,0 +1,10 @@ +# syntax=docker/dockerfile:1 + +# An image with defradb's code and go tooling available, to assemble in a larger container. + +FROM docker.io/golang:1.18 AS BUILD + +WORKDIR /lib/defradb/ + +COPY . . +RUN make deps:modules diff --git a/tools/defradb.containerfile b/tools/defradb.containerfile new file mode 100644 index 0000000000..f9f959f110 --- /dev/null +++ b/tools/defradb.containerfile @@ -0,0 +1,26 @@ +# syntax=docker/dockerfile:1 + +# An image to run defradb. + +# Stage: BUILD +# Several steps are involved to enable caching and because of the behavior of COPY regarding directories. +FROM docker.io/golang:1.18 AS BUILD +WORKDIR /repo/ +COPY go.mod go.sum Makefile ./ +RUN make deps:modules +COPY . . +RUN make build + +# Stage: RUN +FROM gcr.io/distroless/base-debian11 +COPY --from=BUILD /repo/build/defradb /defradb + +# Documents which ports are normally used. +# To publish the ports: `docker run -p 9181:9181` ... +EXPOSE 9161 +EXPOSE 9171 +EXPOSE 9181 + +# Default command provided for convenience. +# e.g. docker run -p 9181:9181 source/defradb start --url 0.0.0.0:9181 +ENTRYPOINT [ "/defradb" ] \ No newline at end of file