tomek19991999
tomek19991999

Reputation: 1

Jenkins agent with custom docker image is not running. Error: "Container is not running"

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

Answers (1)

tomek19991999
tomek19991999

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

Related Questions