mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-24 22:32:15 +00:00
[docker] move to alpine base image
813Mb => 29.5Mb
This commit is contained in:
parent
1bf5ae9c8d
commit
bf64dd21fd
@ -1,4 +1,4 @@
|
||||
FROM golang:1.7.4
|
||||
FROM alpine:3.5
|
||||
|
||||
# This is the release of tendermint to pull in.
|
||||
ENV TM_VERSION 0.8.0
|
||||
@ -12,30 +12,31 @@ ENV DATA_ROOT /tendermint
|
||||
ENV TMROOT $DATA_ROOT
|
||||
|
||||
# Set user right away for determinism
|
||||
RUN groupadd -r tmuser && \
|
||||
useradd -r -s /bin/false -g tmuser tmuser
|
||||
RUN addgroup tmuser && \
|
||||
adduser -S -G tmuser tmuser
|
||||
|
||||
# Create directory for persistence and give our user ownership
|
||||
RUN mkdir -p $DATA_ROOT && \
|
||||
chown -R tmuser:tmuser $DATA_ROOT
|
||||
|
||||
# TODO replace with downloading a binary (this will allow us to replace golang
|
||||
# base container with alpine|jessie - 600MB vs 50MB)
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
git && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
RUN mkdir -p $GOPATH/src/github.com/tendermint/tendermint && \
|
||||
cd $GOPATH/src/github.com/tendermint/tendermint && \
|
||||
git clone https://github.com/tendermint/tendermint.git . && \
|
||||
git fetch && \
|
||||
git reset --hard v$TM_VERSION && \
|
||||
make install
|
||||
# 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 add --no-cache bash curl jq
|
||||
|
||||
RUN apk add --no-cache openssl && \
|
||||
wget https://s3-us-west-2.amazonaws.com/tendermint/${TM_VERSION}/tendermint_linux_amd64.zip && \
|
||||
echo "83f6bd52055ebc93434a68263c6666a4de41e0e543d0b5a06ad461262c460f4c tendermint_linux_amd64.zip" | sha256sum -c && \
|
||||
unzip -d /bin tendermint_linux_amd64.zip && \
|
||||
apk del openssl && \
|
||||
rm -f tendermint_linux_amd64.zip
|
||||
|
||||
# Expose the data directory as a volume since there's mutable state in there
|
||||
VOLUME $DATA_ROOT
|
||||
|
||||
# p2p port
|
||||
EXPOSE 46656
|
||||
# rpc port
|
||||
EXPOSE 46657
|
||||
|
||||
ENTRYPOINT ["tendermint"]
|
||||
|
Loading…
x
Reference in New Issue
Block a user