mirror of
				https://github.com/EchoVault/SugarDB.git
				synced 2025-10-31 19:32:59 +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
	 Kelvin Mwinuka
					Kelvin Mwinuka