go-judge/Dockerfile.alpine
2020-05-19 16:14:03 -04:00

27 lines
522 B
Docker

FROM golang:alpine AS build
WORKDIR /go/judge
# CGO need g++, CGO is needed to compile c-shared
RUN apk --no-cache add build-base
COPY go.mod go.sum /go/judge/
RUN go mod download
COPY ./ /go/judge
RUN go build -o executorserver ./cmd/executorserver && \
go build -o cinit ./cmd/cinit && \
go build -buildmode=c-shared -o executor_server.so ./cmd/ffi/
FROM alpine:latest
WORKDIR /opt
COPY --from=build /go/judge/executorserver /go/judge/mount.yaml /opt/
EXPOSE 5050/tcp
ENTRYPOINT ["./executorserver"]