RabbitMQ "exec format error"

support

#1

Hello
We try to use RabbitMQ for transmitting data between 2 parts of our application, both of which run on the device. When building and running the docker-compose file through local mode, everything goes fine. All 3 containers start properly and communicate with no issues.
Recently, we tried to build the application using the build servers. The build went fine, but the RabbitMQ container can’t start. It gives the following error: standard_init_linux.go:187: exec user process caused "exec format error".
Locally the application was uploaded with: DOCKER_API_VERSION=1.22 DOCKER_HOST=tcp://uid.local:2375 docker-compose up --build -d . It was deployed to raspberrypi 3 and on intel-nuc device type. Through the build servers, it was deployed to raspberrypi 3.
This is the content of docker-compose:

version: '2'

services:

  rabbitmq:
    image: "rabbitmq:management"
    restart: always
    environment:
      RABBITMQ_DEFAULT_USER: "rabbitmq"
      RABBITMQ_DEFAULT_PASS: "rabbitmq"
    ports:
      - "15672:15672"
      - "5672:5672"
    volumes:
      - 'rabbitmq_data:/var/lib/rabbitmq'

We also tried to pull the “rabbitmq” image, without the web interface. No changes.

Can you give me an insight on the error?


#4

Hi @Krismix1, so that error means that you are running a container that is not of the correct architecture of the CPU. the default rabbitmq container is x86 and the raspberry pi3 only runs armv7 binaries.

To fix this you should change to useing arm32v7/rabbitmq:3.6-management or which ever tag is more appropriate version wise.


#5

Thank you @shaunmulligan , I will have a look at that.