From 94526f8e10a5fa9a22f38f46a82e411eaa991892 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 25 Jan 2020 07:50:54 -0800 Subject: 2-stage docker dev image build fix https://github.com/chrislusf/seaweedfs/issues/1047 --- docker/Dockerfile.go_build | 13 +++++++----- docker/dev-compose.yml | 43 ---------------------------------------- docker/local-dev-compose.yml | 43 ++++++++++++++++++++++++++++++++++++++++ docker/seaweedfs-dev-compose.yml | 35 ++++++++++++++++++++++++++++++++ 4 files changed, 86 insertions(+), 48 deletions(-) delete mode 100644 docker/dev-compose.yml create mode 100644 docker/local-dev-compose.yml create mode 100644 docker/seaweedfs-dev-compose.yml diff --git a/docker/Dockerfile.go_build b/docker/Dockerfile.go_build index 87f97dfc8..306ce3aa1 100644 --- a/docker/Dockerfile.go_build +++ b/docker/Dockerfile.go_build @@ -1,9 +1,15 @@ -FROM frolvlad/alpine-glibc +FROM frolvlad/alpine-glibc as builder RUN apk add git go g++ RUN mkdir -p /go/src/github.com/chrislusf/ RUN git clone https://github.com/chrislusf/seaweedfs /go/src/github.com/chrislusf/seaweedfs RUN cd /go/src/github.com/chrislusf/seaweedfs/weed && go install -RUN cp /root/go/bin/weed /usr/bin/ + +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 # volume server gprc port EXPOSE 18080 @@ -24,9 +30,6 @@ 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 ENTRYPOINT ["/entrypoint.sh"] diff --git a/docker/dev-compose.yml b/docker/dev-compose.yml deleted file mode 100644 index c2f588a60..000000000 --- a/docker/dev-compose.yml +++ /dev/null @@ -1,43 +0,0 @@ -version: '2' - -services: - master: - build: - context: . - dockerfile: Dockerfile.go_build - ports: - - 9333:9333 - - 19333:19333 - command: "master -ip=master" - volume: - build: - context: . - dockerfile: Dockerfile.go_build - ports: - - 8080:8080 - - 18080:18080 - command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume' - depends_on: - - master - filer: - build: - context: . - dockerfile: Dockerfile.go_build - ports: - - 8888:8888 - - 18888:18888 - command: '-v=4 filer -master="master:9333"' - depends_on: - - master - - volume - s3: - build: - context: . - dockerfile: Dockerfile.go_build - ports: - - 8333:8333 - command: '-v=4 s3 -filer="filer:8888"' - depends_on: - - master - - volume - - filer diff --git a/docker/local-dev-compose.yml b/docker/local-dev-compose.yml new file mode 100644 index 000000000..c2f588a60 --- /dev/null +++ b/docker/local-dev-compose.yml @@ -0,0 +1,43 @@ +version: '2' + +services: + master: + build: + context: . + dockerfile: Dockerfile.go_build + ports: + - 9333:9333 + - 19333:19333 + command: "master -ip=master" + volume: + build: + context: . + dockerfile: Dockerfile.go_build + ports: + - 8080:8080 + - 18080:18080 + command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume' + depends_on: + - master + filer: + build: + context: . + dockerfile: Dockerfile.go_build + ports: + - 8888:8888 + - 18888:18888 + command: '-v=4 filer -master="master:9333"' + depends_on: + - master + - volume + s3: + build: + context: . + dockerfile: Dockerfile.go_build + ports: + - 8333:8333 + command: '-v=4 s3 -filer="filer:8888"' + depends_on: + - master + - volume + - filer diff --git a/docker/seaweedfs-dev-compose.yml b/docker/seaweedfs-dev-compose.yml new file mode 100644 index 000000000..765770084 --- /dev/null +++ b/docker/seaweedfs-dev-compose.yml @@ -0,0 +1,35 @@ +version: '2' + +services: + master: + image: chrislusf/seaweedfs:dev # use a remote dev image + ports: + - 9333:9333 + - 19333:19333 + command: "master -ip=master" + volume: + image: chrislusf/seaweedfs:dev # use a remote dev image + ports: + - 8080:8080 + - 18080:18080 + command: '-v=2 volume -max=5 -mserver="master:9333" -port=8080 -ip=volume' + depends_on: + - master + filer: + image: chrislusf/seaweedfs:dev # use a remote dev image + ports: + - 8888:8888 + - 18888:18888 + command: '-v=4 filer -master="master:9333"' + depends_on: + - master + - volume + s3: + image: chrislusf/seaweedfs:dev # use a remote dev image + ports: + - 8333:8333 + command: '-v=4 s3 -filer="filer:8888"' + depends_on: + - master + - volume + - filer -- cgit v1.2.3