19

I've installed docker in rapsbian according to the official instructions (i.e., running curl -sSL https://get.docker.com | sh) but I'm not able to run the hello-world example (I've also tried other examples without success). This is the error I'm getting:

pi@raspberrypi2:~ $ docker run hello-world
standard_init_linux.go:178: exec user process caused "exec format error"

My environment is Raspberry Pi 2 Model B with Raspbian GNU/Linux 8 (jessie) and Docker version 17.03.0-ce, build 60ccb22.

Any hint about the problem or possible directions to solve the problem?

Many thanks!

2 Answers 2

34

Raspberries use ARM and not x86_64 processors. You can only run images created for that architecture. Try searching for ARM or ARMv7 on docker hub. There is a Debian image for ARM I know of but there must be others as well.

The underlying issue is that the binary format used by ARM is not compatible with x86_64, which is the architecture used by most desktop and server systems.

Sign up to request clarification or add additional context in comments.

2 Comments

You are right, thanks! In this link (hub.docker.com/u/armhf) there are some useful official (in experimental stage currently) images for ARM architectures, including the hello-world example.
As of November 2019 Docker has facilities for building for building for multiple architectures at the same time: mirailabs.io/blog/multiarch-docker-with-buildx
4

Add to the beginning of your file:

#!/bin/bash 

It works for me

2 Comments

@Kairat Koibagarov What do you mean add to beginning of your file... what file?
You may have put a script file as CMD in your dockerfile. If so, you can add this at the beginning of this script file to tell your system how to read it (here it is a shell script)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.