docker-bitcoin-core/0.12/alpine/Dockerfile

78 lines
2.7 KiB
Docker
Raw Normal View History

FROM alpine:3.6
2016-02-21 22:26:58 +00:00
2017-07-18 18:36:15 +00:00
MAINTAINER Rui Marinho <ruipmarinho@gmail.com> (@ruimarinho)
2016-02-21 22:26:58 +00:00
2016-02-27 19:45:52 +00:00
RUN adduser -S bitcoin
2016-02-21 22:26:58 +00:00
2016-02-27 19:45:52 +00:00
ENV BERKELEYDB_VERSION=db-4.8.30.NC
ENV BERKELEYDB_PREFIX=/opt/${BERKELEYDB_VERSION}
2016-07-06 12:20:59 +00:00
ENV BITCOIN_VERSION=0.12.1
ENV BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin
2016-02-27 19:45:52 +00:00
ENV PATH=${BITCOIN_PREFIX}/bin:$PATH
2016-02-21 22:26:58 +00:00
RUN apk --no-cache --virtual build-dependendencies add autoconf \
2016-02-27 19:45:52 +00:00
automake \
boost-dev \
build-base \
chrpath \
2016-07-06 12:20:59 +00:00
file \
gnupg \
2016-02-27 19:45:52 +00:00
libevent-dev \
libtool \
linux-headers \
openssl \
2016-02-27 19:45:52 +00:00
openssl-dev \
protobuf-dev \
zeromq-dev \
2016-02-21 22:26:58 +00:00
&& mkdir -p /tmp/build \
&& mkdir -p /tmp/build/${BITCOIN_VERSION} \
2016-02-27 19:45:52 +00:00
&& wget -O /tmp/build/${BERKELEYDB_VERSION}.tar.gz http://download.oracle.com/berkeley-db/${BERKELEYDB_VERSION}.tar.gz \
&& tar -xzf /tmp/build/${BERKELEYDB_VERSION}.tar.gz -C /tmp/build/ \
&& sed s/__atomic_compare_exchange/__atomic_compare_exchange_db/g -i /tmp/build/${BERKELEYDB_VERSION}/dbinc/atomic.h \
&& mkdir -p ${BERKELEYDB_PREFIX} \
&& cd /tmp/build/${BERKELEYDB_VERSION}/build_unix \
&& ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=${BERKELEYDB_PREFIX} \
2016-02-21 22:26:58 +00:00
&& make install \
&& wget -O- https://bitcoin.org/laanwj-releases.asc | gpg --import \
&& wget -P /tmp/build/${BITCOIN_VERSION} https://bitcoin.org/bin/bitcoin-core-${BITCOIN_VERSION}/SHA256SUMS.asc \
&& wget -P /tmp/build/${BITCOIN_VERSION} https://bitcoin.org/bin/bitcoin-core-${BITCOIN_VERSION}/bitcoin-${BITCOIN_VERSION}.tar.gz \
&& gpg --verify /tmp/build/${BITCOIN_VERSION}/SHA256SUMS.asc \
&& cd /tmp/build/${BITCOIN_VERSION} \
&& grep " bitcoin-${BITCOIN_VERSION}.tar.gz\$" /tmp/build/${BITCOIN_VERSION}/SHA256SUMS.asc | sha256sum -c - \
&& tar -xzf bitcoin-${BITCOIN_VERSION}.tar.gz -C /tmp/build \
2016-02-27 19:45:52 +00:00
&& cd /tmp/build/bitcoin-${BITCOIN_VERSION} \
2016-02-21 22:26:58 +00:00
&& ./autogen.sh \
2016-02-27 19:45:52 +00:00
&& ./configure LDFLAGS=-L${BERKELEYDB_PREFIX}/lib/ CPPFLAGS=-I${BERKELEYDB_PREFIX}/include/ \
--prefix=${BITCOIN_PREFIX} \
2016-02-21 22:26:58 +00:00
--mandir=/usr/share/man \
--disable-tests \
--disable-bench \
--disable-ccache \
--with-gui=no \
--with-utils \
--with-libs \
--with-daemon \
&& make install \
&& cd / \
2016-02-27 19:45:52 +00:00
&& strip ${BITCOIN_PREFIX}/bin/bitcoin-cli ${BITCOIN_PREFIX}/bin/bitcoind ${BITCOIN_PREFIX}/bin/bitcoin-tx ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.a ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.so.0.0.0 \
&& rm -rf /tmp/build ${BERKELEYDB_PREFIX}/docs \
&& apk --no-cache --purge del build-dependendencies \
&& apk --no-cache add boost \
boost-program_options \
libevent \
2016-07-06 12:20:59 +00:00
libzmq \
openssl \
2016-07-06 12:20:59 +00:00
su-exec
2016-02-21 22:26:58 +00:00
VOLUME ["/home/bitcoin/.bitcoin"]
COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 8332 8333 18332 18333 18444
CMD ["bitcoind"]