prysm
prysm copied to clipboard
Docker Alpine image do not launch
🐞 Bug Report
Description
When running latest alpine image I get:
docker run -it prysmaticlabs/prysm-validator:latest-alpine
Error relocating /app/cmd/validator/validator: __memcpy_chk: symbol not found
Error relocating /app/cmd/validator/validator: __memset_chk: symbol not found
Has this worked before in a previous version?
I tried to run the tagged release HEAD-b36509-alpine with the same issue
🔬 Minimal Reproduction
🔥 Error
docker run -it prysmaticlabs/prysm-validator:latest-alpine
Error relocating /app/cmd/validator/validator: __memcpy_chk: symbol not found
Error relocating /app/cmd/validator/validator: __memset_chk: symbol not found
🌍 Your Environment
Operating System: Ubuntu 21.04
Anything else relevant (validator index / public key)? Docker 20.10.7
cc @prestonvanloon Do we still support this?
I thought these images were fixed (https://github.com/prysmaticlabs/prysm/issues/5768).
This issue looks relevant: https://github.com/bazelbuild/bazel/issues/5891
Hello, I am hitting this issue while preparing the prysm's hive client image.
Is there a known cause for this or an ETA ?
Many thanks.
@marioevz this is not actively being worked on. What is required for Prysm's hive client image?
@marioevz this is not actively being worked on. What is required for Prysm's hive client image?
All clients on hive need to run a configuration shell script before actually launching the client.
Here is prysm's current draft: https://github.com/marioevz/hive/blob/all-cl-clients/clients/prysm-bn/prysm_bn.sh
It seems like the latest docker image for prysm does not contain any of the utilities required to run this script.
@marioevz For this type of application, I would recommend a workaround of expanding the docker image to include the tools you need.
ARG branch=latest
FROM gcr.io/prysmaticlabs/prysm/beacon-chain:$branch as upstream
FROM debian:buster-slim
COPY --from=upstream /app/cmd/beacon-chain/beacon-chain beacon-chain
ADD prysm_bn.sh /prysm_bn.sh
RUN chmod +x /prysm_bn.sh
RUN /beacon-chain --version > /version.txt
ENTRYPOINT ["/prysm_bn.sh"]
I have created a PR for you here with some fixes. I think it works, but I didn't try it beyond seeing that initial sync would start.
https://github.com/marioevz/hive/pull/1
These alpine images have been long broken and very low priority.
If anyone needs this in future:
https://gist.github.com/cshintov/645e482ab23ab4c866bba6ea88c49f54
FROM gcr.io/prysmaticlabs/prysm/beacon-chain:v2.1.4-rc.0 as upstream
FROM debian:buster-slim
COPY --from=upstream /app /app
RUN apt-get update && apt-get install -y \
curl \
jq \
nano \
netcat-openbsd \
&& rm -rf /var/lib/apt/lists/*
STOPSIGNAL SIGINT
ENTRYPOINT ["/app/cmd/beacon-chain/beacon-chain"]
Can we close this @prestonvanloon ?
@rkapka I think we only have workarounds for now. The underlying issue still exists. I want to see if we can amend our bazel commands to achieve a result like what @cshintov has provided. I'll take a look this week.
We are planning to remove support for alpine images following PR #12428.
I'm happy with the workaround. But supporting Alpine officially would still be a nice way to allow easier debugging for persons running on K8s for example.