openethereum/scripts/docker/alpine/Dockerfile

47 lines
1015 B
Docker

FROM alpine:3.13.2 AS builder
# show backtraces
ENV RUST_BACKTRACE 1
RUN apk add --no-cache \
build-base \
cargo \
cmake \
eudev-dev \
linux-headers \
perl \
rust \
git
WORKDIR /openethereum
COPY . /openethereum
RUN cargo build --release --features final --target x86_64-alpine-linux-musl --verbose
RUN strip target/x86_64-alpine-linux-musl/release/openethereum
FROM alpine:3.13.2
# show backtraces
ENV RUST_BACKTRACE 1
# curl and jq are installed to help create health and readiness checks on Kubernetes
RUN apk add --no-cache \
libstdc++ \
eudev-libs \
libgcc \
curl \
jq
RUN addgroup -g 1000 openethereum \
&& adduser -u 1000 -G openethereum -s /bin/sh -D openethereum
USER openethereum
EXPOSE 8080 8545 8180
WORKDIR /home/openethereum
RUN mkdir -p /home/openethereum/.local/share/io.parity.ethereum/
COPY --chown=openethereum:openethereum --from=builder /openethereum/target/x86_64-alpine-linux-musl/release/openethereum ./
ENTRYPOINT ["/home/openethereum/openethereum"]