docker-bitcoin-core/0.13/alpine/Dockerfile
2017-06-27 02:19:56 +01:00

78 lines
2.7 KiB
Docker

FROM alpine:3.6
MAINTAINER Rui Marinho <rui.marinho@seegno.com> (@ruimarinho)
RUN adduser -S bitcoin
ENV BERKELEYDB_VERSION=db-4.8.30.NC
ENV BERKELEYDB_PREFIX=/opt/${BERKELEYDB_VERSION}
ENV BITCOIN_VERSION=0.13.2
ENV BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin
ENV PATH=${BITCOIN_PREFIX}/bin:$PATH
RUN apk --no-cache --virtual build-dependendencies add autoconf \
automake \
boost-dev \
build-base \
chrpath \
file \
gnupg \
libevent-dev \
libtool \
linux-headers \
openssl \
openssl-dev \
protobuf-dev \
zeromq-dev \
&& mkdir -p /tmp/build \
&& mkdir -p /tmp/build/${BITCOIN_VERSION} \
&& 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} \
&& 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 \
&& cd /tmp/build/bitcoin-${BITCOIN_VERSION} \
&& ./autogen.sh \
&& ./configure LDFLAGS=-L${BERKELEYDB_PREFIX}/lib/ CPPFLAGS=-I${BERKELEYDB_PREFIX}/include/ \
--prefix=${BITCOIN_PREFIX} \
--mandir=/usr/share/man \
--disable-tests \
--disable-bench \
--disable-ccache \
--with-gui=no \
--with-utils \
--with-libs \
--with-daemon \
&& make install \
&& cd / \
&& 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 \
libzmq \
openssl \
su-exec
VOLUME ["/home/bitcoin/.bitcoin"]
COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 8332 8333 18332 18333 18444
CMD ["bitcoind"]