tendermint/DOCKER/Dockerfile

40 lines
1.2 KiB
Docker
Raw Normal View History

2018-04-02 07:55:43 -07:00
FROM alpine:3.7
MAINTAINER Greg Szabo <greg@tendermint.com>
2018-04-17 09:28:05 -07:00
# Tendermint will be looking for the genesis file in /tendermint/config/genesis.json
# (unless you change `genesis_file` in config.toml). You can put your config.toml and
# private validator file into /tendermint/config.
#
# The /tendermint/data dir is used by tendermint to store state.
ENV TMHOME /tendermint
2018-04-17 09:28:05 -07:00
# OS environment setup
# Set user right away for determinism, create directory for persistence and give our user ownership
# jq and curl used for extracting `pub_key` from private validator while
# deploying tendermint with Kubernetes. It is nice to have bash so the users
# could execute bash commands.
RUN apk update && \
apk upgrade && \
2018-04-17 09:28:05 -07:00
apk --no-cache add curl jq bash && \
addgroup tmuser && \
adduser -S -G tmuser tmuser -h "$TMHOME"
2018-04-17 09:28:05 -07:00
# Run the container with tmuser by default. (UID=100, GID=1000)
USER tmuser
2018-04-17 09:28:05 -07:00
# Expose the data directory as a volume since there's mutable state in there
VOLUME [ $TMHOME ]
2018-04-17 09:28:05 -07:00
WORKDIR $TMHOME
2018-04-17 09:28:05 -07:00
# p2p and rpc port
EXPOSE 26656 26657
2018-04-17 09:28:05 -07:00
ENTRYPOINT ["/usr/bin/tendermint"]
CMD ["node", "--moniker=`hostname`"]
STOPSIGNAL SIGTERM
2015-06-10 09:06:28 -07:00
ARG BINARY=tendermint
COPY $BINARY /usr/bin/tendermint