Docker Buildx | Docker Image for ARMV7 Fails to Start on Raspberry Pi

Issue Type
Docker images created for armv7 using docker buildx fail to start on Raspberry Pi 3B+. The log shows the following error:

standard_init_linux.go:211: exec user process caused “exec format error”

The answers to similar issues suggest that the error appears if the image is not being run on correct architecture. I have verified that my Raspberry Pi is device armv7.

OS Version/build
Build OS: Docker buildx done on Mac OS Catalina [10.15.4 (19E287)]
Target OS: Ubuntu 18.04.2 LTS on Raspberry Pi 3b+

App Version
Docker Engine (MacOS): 19.03.8
Docker Desktop Community (MacOS): 2.3.0.1 (channel: edge)
Docker (Raspberry PI): 19.03.6 (Client-> Experimental false; Server: Experimental true)

Steps to reproduce

  1. Create a docker image for ARMV7 platform. I used the following command:
    docker buildx build GitHub - keep-network/keep-core: The smart contracts and reference client behind the Keep network --platform linux/arm/v7 -t keep-raspberry

  2. Push the image to docker hub

  3. Pull the image on Raspberry Pi and run

Expected Result:
The docker image should successfully start

Actual Result:
Image startup fails with the following error:

standard_init_linux.go:211: exec user process caused “exec format error”

FYI, here is the platform architecture information from docker image manifest:

"Descriptor": {
	"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
	"digest": "sha256:1de98218aff4db49240263ac65c0c2ae8dd389ec7b3ef2ff1bba52645175af4e",
	"size": 1577,
	"platform": {
		"architecture": "arm",
		"os": "linux",
		"variant": "v7"
	}
}

I have run into the exact same issue, did you find a solution in the end?

I have the same problem :slightly_frowning_face:
I am using this command
wget https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-linux-armv7 -O docker-compose
then
sudo mv docker-compose /usr/local/bin
then:
sudo docker-compose -f docker-compose.yaml up -d

where docker-compose.yaml … and error is

version: ‘3’
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.0.1
container_name: zookeeper
ports:
- “2181:2181”
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000

broker:
image: confluentinc/cp-kafka:7.0.1
container_name: broker
depends_on:
- zookeeper
ports:
- “29092:29092”
- “9092:9092”
- “9101:9101”
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: ‘zookeeper:2181’
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_JMX_PORT: 9101
KAFKA_JMX_HOSTNAME: localhost