diff --git a/docker/hub/Dockerfile b/docker/hub/Dockerfile new file mode 100644 index 000000000..3120eeba7 --- /dev/null +++ b/docker/hub/Dockerfile @@ -0,0 +1,83 @@ +FROM ubuntu:14.04 +MAINTAINER Parity Technologies +WORKDIR /build +#ENV for build TAG +ARG BUILD_TAG +ENV BUILD_TAG ${BUILD_TAG:-master} +RUN echo $BUILD_TAG +# install tools and dependencies +RUN apt-get update && \ + apt-get install -y --force-yes --no-install-recommends \ + # make + build-essential \ + # add-apt-repository + software-properties-common \ + make \ + curl \ + wget \ + git \ + g++ \ + gcc \ + libc6 \ + libc6-dev \ + binutils \ + file \ + openssl \ + libssl-dev \ + libudev-dev \ + pkg-config \ + dpkg-dev \ + # evmjit dependencies + zlib1g-dev \ + libedit-dev \ + libudev-dev &&\ +# cmake and llvm ppa's. then update ppa's + add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \ + add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \ + apt-get update && \ + apt-get install -y --force-yes cmake llvm-3.7-dev && \ +# install evmjit + git clone https://github.com/debris/evmjit && \ + cd evmjit && \ + mkdir build && cd build && \ + cmake .. && make && make install && cd && \ +# install rustup + curl https://sh.rustup.rs -sSf | sh -s -- -y && \ +# rustup directory + PATH=/root/.cargo/bin:$PATH && \ +# show backtraces + RUST_BACKTRACE=1 && \ +# build parity + cd /build&&git clone https://github.com/paritytech/parity && \ + cd parity && \ + git pull&& \ + git checkout $BUILD_TAG && \ + cargo build --verbose --release --features final && \ + #ls /build/parity/target/release/parity && \ + strip /build/parity/target/release/parity && \ + file /build/parity/target/release/parity&&mkdir -p /parity&& cp /build/parity/target/release/parity /parity&&\ +#cleanup Docker image + rm -rf /root/.cargo&&rm -rf /root/.multirust&&rm -rf /root/.rustup&&rm -rf /build&&\ + apt-get purge -y \ + # make + build-essential \ + # add-apt-repository + software-properties-common \ + make \ + curl \ + wget \ + git \ + g++ \ + gcc \ + binutils \ + file \ + pkg-config \ + dpkg-dev \ + # evmjit dependencies + zlib1g-dev \ + libedit-dev \ + cmake llvm-3.7-dev&&\ + rm -rf /var/lib/apt/lists/* +# setup ENTRYPOINT +EXPOSE 8080 8545 8180 +ENTRYPOINT ["/parity/parity"]