aboutsummaryrefslogtreecommitdiff
path: root/docker/Dockerfile.go_build
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile.go_build')
-rw-r--r--docker/Dockerfile.go_build25
1 files changed, 19 insertions, 6 deletions
diff --git a/docker/Dockerfile.go_build b/docker/Dockerfile.go_build
index 85cbb6143..1adf0f5ef 100644
--- a/docker/Dockerfile.go_build
+++ b/docker/Dockerfile.go_build
@@ -1,5 +1,20 @@
-FROM golang:latest
-RUN go get github.com/chrislusf/seaweedfs/weed
+FROM frolvlad/alpine-glibc as builder
+RUN apk add git go g++ fuse
+RUN mkdir -p /go/src/github.com/chrislusf/
+RUN git clone https://github.com/chrislusf/seaweedfs /go/src/github.com/chrislusf/seaweedfs
+ARG BRANCH=${BRANCH:-master}
+RUN cd /go/src/github.com/chrislusf/seaweedfs && git checkout $BRANCH
+RUN cd /go/src/github.com/chrislusf/seaweedfs/weed \
+ && export LDFLAGS="-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=$(git rev-parse --short HEAD)" \
+ && CGO_ENABLED=0 go install -ldflags "-extldflags -static ${LDFLAGS}"
+
+FROM alpine AS final
+LABEL author="Chris Lu"
+COPY --from=builder /root/go/bin/weed /usr/bin/
+RUN mkdir -p /etc/seaweedfs
+COPY --from=builder /go/src/github.com/chrislusf/seaweedfs/docker/filer.toml /etc/seaweedfs/filer.toml
+COPY --from=builder /go/src/github.com/chrislusf/seaweedfs/docker/entrypoint.sh /entrypoint.sh
+RUN apk add fuse # for weed mount
# volume server gprc port
EXPOSE 18080
@@ -15,15 +30,13 @@ EXPOSE 19333
EXPOSE 9333
# s3 server http port
EXPOSE 8333
+# webdav server http port
+EXPOSE 7333
RUN mkdir -p /data/filerldb2
VOLUME /data
-RUN mkdir -p /etc/seaweedfs
-RUN cp /go/src/github.com/chrislusf/seaweedfs/docker/filer.toml /etc/seaweedfs/filer.toml
-RUN cp /go/src/github.com/chrislusf/seaweedfs/docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
-RUN cp /go/bin/weed /usr/bin/
ENTRYPOINT ["/entrypoint.sh"]