github.com/Finschia/finschia-sdk@v0.48.1/Dockerfile (about) 1 # Simple usage with a mounted data directory: 2 # > docker build --platform="linux/amd64" -t simapp . --build-arg ARCH=x86_64 3 # 4 # Server: 5 # > docker run -it -p 26657:26657 -p 26656:26656 -v ~/.simapp:/root/.simapp simapp simd init test-chain 6 # TODO: need to set validator in genesis so start runs 7 # > docker run -it -p 26657:26657 -p 26656:26656 -v ~/.simapp:/root/.simapp simapp simd start 8 # 9 # Client: (Note the simapp binary always looks at ~/.simapp we can bind to different local storage) 10 # > docker run -it -p 26657:26657 -p 26656:26656 -v ~/.simappcli:/root/.simapp simapp simd keys add foo 11 # > docker run -it -p 26657:26657 -p 26656:26656 -v ~/.simappcli:/root/.simapp simapp simd keys list 12 # TODO: demo connecting rest-server (or is this in server now?) 13 FROM golang:1.20-alpine AS build-env 14 ARG ARCH=$ARCH 15 16 # Install minimum necessary dependencies, 17 ENV PACKAGES curl make git libc-dev bash gcc g++ linux-headers eudev-dev python3 18 RUN apk add --update --no-cache $PACKAGES 19 20 # Set working directory for the build 21 WORKDIR /go/src/github.com/Finschia/finschia-sdk 22 23 # prepare dbbackend before building; this can be cached 24 COPY ./Makefile ./ 25 COPY ./contrib ./contrib 26 #RUN make dbbackend 27 28 # Install GO dependencies 29 COPY ./go.mod /go/src/github.com/Finschia/finschia-sdk/go.mod 30 COPY ./go.sum /go/src/github.com/Finschia/finschia-sdk/go.sum 31 RUN go mod download 32 33 # Add source files 34 COPY . . 35 36 # install simapp, remove packages 37 RUN make build CGO_ENABLED=1 38 39 # Final image 40 FROM alpine:edge 41 42 # Set up OS dependencies 43 RUN apk add --update --no-cache ca-certificates libstdc++ 44 WORKDIR /root 45 46 # Copy over binaries from the build-env 47 COPY --from=build-env /go/src/github.com/Finschia/finschia-sdk/build/simd /usr/bin/simd 48 49 EXPOSE 26656 26657 1317 9090 50 51 # Run simd by default, omit entrypoint to ease using container with simcli 52 CMD ["simd"]