Can you elaborate on this? I have an armv71 system and Docker runs fine on it.
Workaround:
-
Go to a system that has Docker (architecture does not matter).
-
Check on the Docker Hub for the latest beta tag and copy the image ID for the appropriate architecture. For example, the ID for the latest ARMv6 image is
6b40507028117c48c63ad717169f21d04fa3c6d3594525c4400d46780d2f3090
. -
Create a temporary container using the image ID to specify that exact image. Note that we don’t run the container, so we don’t need to be on the same architecture:
docker create --name storagenode-temp storjlabs/storagenode@sha256:6b40507028117c48c63ad717169f21d04fa3c6d3594525c4400d46780d2f3090
-
Copy the binary out of the container:
docker cp storagenode-temp:/app/storagenode .
-
Remove the temporary container:
docker rm storagenode-temp
-
Observe that the binary is of the architecture matching the image you selected:
# file storagenode storagenode: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, Go BuildID=GhojACuhBSNzNycvnCbM/XWHapOmqTxclfIoVUeVo/mM8JXMPdkJzZAwsuZaz-/QVbVAee2Joqo-ON8sQS2, stripped
-
Copy the binary where you need it.
Obviously this is a bit of a pain and you have to redo it all when an update is released (make sure to get the new image ID!) but it’s at least possible. You could even write a script to make updates easier.