Reputation: 1
Summary: On raspberry pi, linux debian, when i try use jenkins agent image "jenkins/agent:jdk11" it works fine. But if i try pull my own image from dockerhub (literraly the same), it give me error "java.io.IOException: Container is not running."
Problem in more detail: I try to learn jenkins. I use jenkins master in docker container on my raspberry pi with linux debian and was trying to use jenkins agent connected with socat do docker daemon.
When it works: If i use official docker image jenkins/agent:jdk11, i can make hello world.
Where is the problem: I need my own image with c++ tools. At first, I build simplest, image created with dockerfile without tools:
FROM jenkins/agent:jdk11
USER jenkins
But now i have problem in jenkins, because when i try to build simple freestyle project with my image from dockerhub, i have error:
java.io.IOException: Container is not running.
at io.jenkins.docker.connector.DockerComputerConnector.createLauncher(DockerComputerConnector.java:195)
at com.nirima.jenkins.plugins.docker.DockerTemplate.doProvisionNode(DockerTemplate.java:754)
at com.nirima.jenkins.plugins.docker.DockerTemplate.provisionNode(DockerTemplate.java:682)
at com.nirima.jenkins.plugins.docker.DockerCloud$1.run(DockerCloud.java:414)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at jenkins.util.ErrorLoggingExecutorService.lambda$wrap$0(ErrorLoggingExecutorService.java:51)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
What I tried: When I i use jenkins in the same method on my PC with windows, everything works fine. I can make hello world. But i need linux.
I have no idea where the problem is. Any suggestion?
Upvotes: 0
Views: 87
Reputation: 1
Solution: On dockerhub it was written that my image built on linux mint have ARM64 architecture. But when i tried to run this image on my raspberry with linux, i got error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
When i build new image, with ARM64 it works:
docker buildx build --platform linux/arm64 -t your-dockerhub-username/yourimagename:yourtag .
Upvotes: 0