I'm currently working on a Java application that I run on my Raspberry 3B+ (arm32v7). I'm building my JAR on Java 14 and building a Docker Image using this Dockerfile.
FROM arm32v7/adoptopenjdk:14.0.2_8-jdk-hotspot-bionic
COPY /build/libs/project-1.0-SNAPSHOT.jar my-jar.jar
CMD java -jar my-jar.jar
This is working pretty fine. I'm using Gitlab CI to build my jar and my Docker Image, using the following :
image: openjdk:14-jdk-slim
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
stages:
- build
- package
gradle-build:
stage: build
script: "./gradlew build"
artifacts:
paths:
- build/libs/*.jar
docker-build:
image: docker:stable
services:
- docker:dind
stage: package
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
script:
- export DOCKER_HOST=tcp://docker:2375/
- docker build -t registry.gitlab.com/mygitlab/project .
- docker push registry.gitlab.com/mygitlab/project
tags:
- docker
The problem is that every time I tried to upgrade my version of Java in my Docker image, I get the following error :
Step 1/4 : FROM arm32v7/adoptopenjdk:16-jre 16-jre: Pulling from arm32v7/adoptopenjdk no manifest for linux/amd64 in the manifest list entries
I'm having this issue with a lot of arm32v7 compatible images. In fact, the one that I'm using right now seems to be the only one working.
I'm still a beginner on Docker and I'm not sure to understand clearly my problem. For my understanding, the Gitlab Runner that I'm using can't figure out the image I'm trying to use, but how can I change that?
Thank you for your help.
