-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raspberry: How to run it on a Pi #116
Comments
I am not an expert in Docker, but as I know architecture should not be a problem. The program to be executed is native Python code and there are no dependencies not compatible with ARM. Can you please paste the complete error messages? Thanks! |
Neither am I sadly. But the problem is not with python, python tools or any of your code. Just that the container is not a multiarch or armhf. The base image architecture that was used to build the image is not armhf and will not run on a pi/arm device. If you build it yourself you will build a container for whatever architecture you are on. It sounds complicated and against dockers stipulation, but there is no way docker magically makes a architecture leap. That's at least as i understand it. The exact error message is "standard_init_linux.go:#: exec user process caused "exec format error"" with the number being whatever line the script fails. But it is misleading, there is no script error. It's just the first thing that breaks. |
I have no chance to try, but you can change the image used in the Dockerfile. Replace "FROM python:3.7-alpine" with "FROM arm32v7/python:3.7.2-alpine3.7" https://hub.docker.com/r/arm32v7/python/ If this works for you I can document it. Thanks! |
I'm not sure if we're misunderstanding each other. I'm just talking about the image you get when you do a pull with tl;dr: If you want to use nekmo/amazon-dash on an arm device, you can't just run |
I'm going to investigate how the Docker image can be uploaded using ARM. I do not have much experience about Docker Hub, thanks. |
Thanks @narfel , I had no idea you could just build a Docker image directly on your device to avoid an architecture mismatch - that is a game-changer! @Nekmo It might be helpful to add a note to the Readme about this. Since you can't run the image as-is from the Docker Hub, you have to build it locally and then use that custom-built image. Here's what I did:
|
I will try to update the Docker hub image for Raspberry Pi users 👍 |
didn't work for me. had some unsatisfiable constraints.
|
I've had some troubles on a RPi too and was able to fix the broken scapy-install by getting it from apt: |
For anyone else needing this for pi, I went ahead and pushed an image built on my pi until an an official ARM image is available from @Nekmo .
The only change I made was to update a few dependencies to match the versions I already had installed on my pi so the image would build. |
Thanks @xtools-at I was having the same problem but your suggest install fixed the issue. |
Any updates on this? Does an official arm image exist? |
What is the purpose of your issue?
Well neither of my two things are a bug, but maybe it helps someone trying to get a docker container running. The docker image in the wiki is not for arm devices and is not marked as such. The error message "exec format error"" may also be a bit unspecific, although the whole thing just works on e.g. a raspberry. You have to build the image from the docker file (on the Pi) and then run it as instructed with something like: "docker run -it --network=host --name amazon-dash -v local_docker_datadir:/config nekmo/amazon-dash:latest amazon-dash run --ignore-perms --root-allowed --config /config/amazon-dash.yml" This example line has an additional --name flag to start/stop the container easier and i had to omit the amazon-dash.yml when running the docker image otherwise it would (again misleadingly) complain about not being able to connect to /config/amazon-dash.yml because it is a directory. Hint: It's not :)
The text was updated successfully, but these errors were encountered: