nimbus-eth1/docker/dist/binaries/Dockerfile.arm
Ștefan Talpalaru 51bc1cf87f
dist: precompiled binaries and Docker images (#1015)
* dist: precompiled binaries and Docker images

The builds are reproducible, the binaries are portable and statically link librocksdb.

This took some patching. Upstream PR: https://github.com/facebook/rocksdb/pull/9752

32-bit ARM is missing as a target because two different GCC versions
fail with an ICE when trying to cross-compile RocksDB. Using Clang
instead is too much trouble for a platform that nobody should be using
anyway.

(Clang doesn't come with its own target headers and libraries, can't be
easily convinced to use the ones from GCC, so it needs an fs image from
a 32-bit ARM distro - at which point I stopped caring).

* CI: disable reproducibility test
2022-03-27 13:21:15 +02:00

22 lines
637 B
Docker

FROM arm32v7/debian:bullseye-slim
SHELL ["/bin/bash", "-c"]
# We need the host's registered binfmt_misc "interpreter" inside the container,
# for that transparent virtualisation to work.
COPY "qemu-arm-static" "/usr/bin/"
# Likely to match the first regular user:group created on the host.
RUN addgroup --gid 1000 user; \
adduser --disabled-password --gecos '' --uid 1000 --gid 1000 user;
USER user
STOPSIGNAL SIGINT
# Docker refuses to copy the source directory here, so read it as "nimbus-eth1/*"
COPY "nimbus-eth1" "/home/user/nimbus-eth1/"
WORKDIR "/home/user/nimbus-eth1/"
ENTRYPOINT ["/home/user/nimbus-eth1/build/nimbus"]