apprise-microservice icon indicating copy to clipboard operation
apprise-microservice copied to clipboard

ARM docker image does not work on arm32v7 (raspberry pi 3)

Open pabloromeo opened this issue 4 years ago • 5 comments

The docker image tagged as arm appears to be only 64bit, and doesn't run on Raspberry pi 3. Errors out with the standard arch mismatch error:

standard_init_linux.go:211: exec user process caused "exec format error"

pabloromeo avatar May 31 '20 23:05 pabloromeo

@pabloromeo the latest tags should now work with 32/64bit os.

image

zaherg avatar Aug 28 '20 08:08 zaherg

Unfortunately that did not work, and still got the same error. I had to fork the repo, and using dockerhub hooks and a custom Dockerfile for ARM build it specifically including QEMU. Aside from QEMU the other big different is the BASE image used in the new dockerfile: arm32v7/python:3-alpine It would fail with the standard python base image.

In case it's useful to anyone, the fork is: https://github.com/pabloromeo/apprise-microservice

And the docker image is available at: https://hub.docker.com/repository/docker/pabloromeo/apprise-microservice With the latest-arm tag

pabloromeo avatar Nov 05 '20 15:11 pabloromeo

how about you send a PR so that the author can look at it and fix his own too

zaherg avatar Nov 06 '20 05:11 zaherg

Well, I didn't do that because it's not really an issue in the code itself. It's more related to how the build pipelines and architectures are set up. That's why I showed the example of how I did it using dockerhub and building on AMD64 with QEMU, but the author here may want something more efficient building directly on ARM without using QEMU and a different CI platform and may not want to have a separate Dockerfile per platform. The code is fine, all i did was change the docker base image for python using the ARM one, and then build including QEMU since I don't have an ARM build agent. Here the situation may be quite different and a PR can't cover that.

I just did a quick and dirty implementation solely focusing on ARM 32 bit, to run on my raspberry pi. If these images start working on 32 bit ARM then i'll kill my repo since it won't be useful anymore.

pabloromeo avatar Nov 12 '20 14:11 pabloromeo

@pabloromeo Veerrry late response, but if you are still interested, this might work now. (Different build process / Docker fixed their armhf base images..)

djmaze avatar Jan 15 '24 21:01 djmaze