aboutsummaryrefslogtreecommitdiff
path: root/docker/Dockerfile.rocksdb_large
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-09-30 21:10:23 -0700
committerChris Lu <chris.lu@gmail.com>2021-09-30 21:10:34 -0700
commit7b776be285de6c3980af9c1368a0534e5e62d7df (patch)
tree8b68134993cf416bf7477125b5b732760ba5dca4 /docker/Dockerfile.rocksdb_large
parent3b159db1430ac70d436a7f93297e3d8eff424950 (diff)
downloadseaweedfs-7b776be285de6c3980af9c1368a0534e5e62d7df.tar.xz
seaweedfs-7b776be285de6c3980af9c1368a0534e5e62d7df.zip
build docker image for chrislusf/seaweedfs:rocksdb
Diffstat (limited to 'docker/Dockerfile.rocksdb_large')
-rw-r--r--docker/Dockerfile.rocksdb_large47
1 files changed, 47 insertions, 0 deletions
diff --git a/docker/Dockerfile.rocksdb_large b/docker/Dockerfile.rocksdb_large
new file mode 100644
index 000000000..719e0afd8
--- /dev/null
+++ b/docker/Dockerfile.rocksdb_large
@@ -0,0 +1,47 @@
+FROM chrislusf/gorocksdb as builder
+
+ENV CGO_CFLAGS "-I/tmp/rocksdb/include"
+ENV CGO_LDFLAGS "-L/tmp/rocksdb -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4 -lzstd"
+
+# build SeaweedFS
+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)" \
+ && go install -tags "5BytesOffset rocksdb" -ldflags "-extldflags -static ${LDFLAGS}"
+
+
+FROM alpine AS final
+LABEL author="Chris Lu"
+COPY --from=builder /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 snappy gflags
+
+# volume server gprc port
+EXPOSE 18080
+# volume server http port
+EXPOSE 8080
+# filer server gprc port
+EXPOSE 18888
+# filer server http port
+EXPOSE 8888
+# master server shared gprc port
+EXPOSE 19333
+# master server shared http port
+EXPOSE 9333
+# s3 server http port
+EXPOSE 8333
+# webdav server http port
+EXPOSE 7333
+
+RUN mkdir -p /data/filerldb2
+
+VOLUME /data
+
+RUN chmod +x /entrypoint.sh
+
+ENTRYPOINT ["/entrypoint.sh"]