updated Dockerfile

- minified image: 75% smaller image
- statically-linked build
- add .dockerignore: no need to send repo to build context
This commit is contained in:
Mine Coins 2017-02-24 00:55:37 +02:00
parent d666339853
commit a1cd4db4e6
2 changed files with 26 additions and 30 deletions

1
.dockerignore Normal file
View file

@ -0,0 +1 @@
*

View file

@ -1,40 +1,35 @@
FROM debian:testing FROM ubuntu:16.04
MAINTAINER eiabea <developer@eiabea.com>
# Install clone dependencies ENV SRC_DIR /usr/local/src/monero
RUN set -e && \
apt-get update -q && \
apt-get install -q -y --no-install-recommends ca-certificates git && \
git clone https://github.com/monero-project/monero.git src && \
apt-get purge -y git && \
apt-get clean -q -y && \
apt-get autoclean -q -y && \
apt-get autoremove -q -y
WORKDIR /src RUN set -x \
&& buildDeps=' \
# Install make dependencies ca-certificates \
RUN set -e && \ cmake \
apt-get update -q && \ g++ \
apt-get install -q -y --no-install-recommends build-essential ca-certificates g++ gcc cmake \ git \
pkg-config libunbound2 libevent-2.0-5 libgtest-dev libboost-all-dev libdb5.3++-dev libdb5.3-dev libssl1.0-dev && \ libboost1.58-all-dev \
make -j 4 && \ libssl-dev \
apt-get purge -y g++ gcc cmake pkg-config && \ make \
apt-get clean -q -y && \ pkg-config \
apt-get autoclean -q -y && \ ' \
apt-get autoremove -q -y && \ && apt-get -qq update \
mkdir /monero && \ && apt-get -qq --no-install-recommends install $buildDeps \
mv /src/build/release/bin/* /monero && \ \
rm -rf /src && git clone https://github.com/monero-project/monero.git $SRC_DIR \
&& cd $SRC_DIR \
WORKDIR /monero && make -j$(nproc) release-static \
&& cp build/release/bin/* /usr/local/bin/ \
\
&& rm -r $SRC_DIR \
&& apt-get -qq --auto-remove purge $buildDeps
# Contains the blockchain # Contains the blockchain
VOLUME /root/.bitmonero VOLUME /root/.bitmonero
# Generate your wallet via accessing the container and run: # Generate your wallet via accessing the container and run:
# cd /wallet # cd /wallet
# /./bitmonero/monero-wallet-cli # monero-wallet-cli
VOLUME /wallet VOLUME /wallet
ENV LOG_LEVEL 0 ENV LOG_LEVEL 0
@ -46,4 +41,4 @@ ENV RPC_BIND_PORT 18081
EXPOSE 18080 EXPOSE 18080
EXPOSE 18081 EXPOSE 18081
CMD ./monerod --log-level=$LOG_LEVEL --p2p-bind-ip=$P2P_BIND_IP --p2p-bind-port=$P2P_BIND_PORT --rpc-bind-ip=$RPC_BIND_IP --rpc-bind-port=$RPC_BIND_PORT CMD monerod --log-level=$LOG_LEVEL --p2p-bind-ip=$P2P_BIND_IP --p2p-bind-port=$P2P_BIND_PORT --rpc-bind-ip=$RPC_BIND_IP --rpc-bind-port=$RPC_BIND_PORT