I am working on a little application that I want to run in a docker container on a Raspberry Pi (Model 4B, 32Bit, 4GB RAM). I am learning Docker currently, so far I have only built and run stuff on my dev machine ( a mac). The container setup and jar work without problems on that machine.
This is my very basic Dockerfile:
FROM java:8
WORKDIR /
ADD my_jar.jar my_jar.jar
EXPOSE 8080
CMD java -jar my_jar.jar
As you can see there is not much going on. I would like to just be able to Docker build . -t myDockerImage on the pi and then run my container. Building succeeds, according to the output, but running fails with an error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
standard_init_linux.go:219: exec user process caused: exec format error
I did some research, and all I could find was the suggestion to use OpenJDK. Did that, but can't build, it says:
no matching manifest for linux/arm/v7 in the manifest list entries
I looked around on Docker Hub, but it doesn't seem like there is an image for java that fits this architecture. Or maybe I don't know what to look for...?
So how do I get java in a docker container onty this machine (preferrable in a fairly easy, convenient way, but if that doesn't exist, I am happy to do it the hard way, what ever that might entail)?
Btw: This is what lshw states about the RPi:
raspberrypi
description: ARMv7 Processor rev 3 (v7l)
product: Raspberry Pi 4 Model B Rev 1.1
serial: 10000000b3320840
width: 32 bits
capabilities: smp