mirror of
https://github.com/EchoVault/SugarDB.git
synced 2025-11-01 11:52:47 +08:00
Merge pull request #52 from DMcP89/49-multi-stage-docker-dev
Updating Dockerfile.dev to use multi stage build for creating binarys
This commit is contained in:
@@ -1,11 +1,30 @@
|
||||
FROM --platform=linux/amd64 alpine:latest
|
||||
FROM --platform=linux/amd64 golang:alpine as build
|
||||
|
||||
RUN apk add --no-cache gcc musl-dev
|
||||
|
||||
WORKDIR /build
|
||||
COPY . ./
|
||||
|
||||
ENV CGO_ENABLED=1 CC=gcc GOOS=linux GOARCH=amd64
|
||||
|
||||
ENV DEST=volumes/modules
|
||||
RUN CGO_ENABLED=$CGO_ENABLED CC=$CC GOOS=$GOOS GOARCH=$GOARCH go build -buildmode=plugin -o $DEST/module_set/module_set.so ./volumes/modules/module_set/module_set.go
|
||||
RUN CGO_ENABLED=$CGO_ENABLED CC=$CC GOOS=$GOOS GOARCH=$GOARCH go build -buildmode=plugin -o $DEST/module_get/module_get.so ./volumes/modules/module_get/module_get.go
|
||||
|
||||
ENV DEST=bin/linux/x86_64
|
||||
RUN CGO_ENABLED=$CGO_ENABLED CC=$CC GOOS=$GOOS GOARCH=$GOARCH go build -o $DEST/server ./cmd/main.go
|
||||
|
||||
|
||||
|
||||
FROM --platform=linux/amd64 alpine:latest as server
|
||||
|
||||
RUN mkdir -p /usr/local/lib/echovault
|
||||
RUN mkdir -p /opt/echovault/bin
|
||||
RUN mkdir -p /etc/ssl/certs/echovault/echovault
|
||||
RUN mkdir -p /etc/ssl/certs/echovault/client
|
||||
|
||||
COPY ./bin/linux/x86_64/server /opt/echovault/bin
|
||||
COPY --from=build /build/bin/linux/x86_64/server /opt/echovault/bin
|
||||
|
||||
COPY ./openssl/server /etc/ssl/certs/echovault/server
|
||||
COPY ./openssl/client /etc/ssl/certs/echovault/client
|
||||
|
||||
|
||||
Reference in New Issue
Block a user