Where i can get arm binary

Can you elaborate on this? I have an armv71 system and Docker runs fine on it.

Workaround:

  1. Go to a system that has Docker (architecture does not matter).

  2. 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.

  3. 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
    
  4. Copy the binary out of the container:

    docker cp storagenode-temp:/app/storagenode .
    
  5. Remove the temporary container:

    docker rm storagenode-temp
    
  6. 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
    
  7. 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.

3 Likes