github.com/lazyledger/lazyledger-core@v0.35.0-dev.0.20210613111200-4c651f053571/test/e2e/docker/Dockerfile (about)

     1  # We need to build in a Linux environment to support C libraries, e.g. RocksDB.
     2  # We use Debian instead of Alpine, so that we can use binary database packages
     3  # instead of spending time compiling them.
     4  FROM golang:1.15
     5  
     6  RUN apt-get -qq update -y && apt-get -qq upgrade -y >/dev/null
     7  RUN apt-get -qq install -y libleveldb-dev librocksdb-dev >/dev/null
     8  
     9  # Set up build directory /src/tendermint
    10  ENV TENDERMINT_BUILD_OPTIONS badgerdb
    11  WORKDIR /src/tendermint
    12  
    13  # Fetch dependencies separately (for layer caching)
    14  COPY go.mod go.sum ./
    15  RUN go mod download
    16  
    17  # Build Tendermint and install into /usr/bin/tendermint
    18  COPY . .
    19  RUN make build && cp build/tendermint /usr/bin/tendermint
    20  COPY test/e2e/docker/entrypoint* /usr/bin/
    21  # FIXME: Temporarily disconnect maverick node until it is redesigned
    22  # RUN cd test/e2e && make maverick && cp build/maverick /usr/bin/maverick
    23  RUN cd test/e2e && make app && cp build/app /usr/bin/app
    24  
    25  # Set up runtime directory. We don't use a separate runtime image since we need
    26  # e.g. leveldb and rocksdb which are already installed in the build image.
    27  WORKDIR /tendermint
    28  VOLUME /tendermint
    29  ENV TMHOME=/tendermint
    30  
    31  EXPOSE 26656 26657 26660
    32  ENTRYPOINT ["/usr/bin/entrypoint"]
    33  CMD ["start"]
    34  STOPSIGNAL SIGTERM