• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • docker-workflow-plugin
    • None
    • Debian 8 64bit running jenkins/jenkins:lts in a docker container, latest plugin versions, the jenkins container has access to the host's docker socket.

      The following basic pipeline script fails with an IOException:

      #!/usr/bin/env groovy
      
      node {
        docker.image('martinlowinski/flutter-android-sdk:latest').inside {
          stage('Preparation') {
            checkout([
              $class: 'GitSCM', branches: [[name: '*/master']],
              userRemoteConfigs: [[url: 'git@bitbucket.org:****.git',credentialsId:'jenkins']]
            ])
            sh 'flutter doctor'
          }
        }
      }
      

      The flutter-android-sdk image is fairly big, the image has 33 layers with 2.4GB.

      This is the log: 

      Status: Downloaded newer image for martinlowinski/flutter-android-sdk:latest
      [Pipeline] withDockerContainer
      Jenkins seems to be running inside container 869a897acd03082bfe2e8e5ce7945664e323c2fcb20c430fd70bfa276292b924
      $ docker run -t -d -u 1000:1000 -w "/var/jenkins_home/workspace/repo_test master" --volumes-from 869a897acd03082bfe2e8e5ce7945664e323c2fcb20c430fd70bfa276292b924 -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** --entrypoint cat martinlowinski/flutter-android-sdk:latest
      ERROR: Timeout after 180 seconds
      [Pipeline] // withDockerContainer
      [Pipeline] }
      [Pipeline] // timeout
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] End of Pipeline
      java.io.IOException: Failed to run image 'martinlowinski/flutter-android-sdk:latest'. Error: 
      	at org.jenkinsci.plugins.docker.workflow.client.DockerClient.run(DockerClient.java:138)
      	at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Execution.start(WithContainerStep.java:179)
      	at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:224)
      	at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:150)
      	at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
      	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
      	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
      	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
      	at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:19)
      	at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/var/jenkins_home/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:128)
      	at org.jenkinsci.plugins.docker.workflow.Docker.node(jar:file:/var/jenkins_home/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:63)
      	at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/var/jenkins_home/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:116)
      	at WorkflowScript.run(WorkflowScript:5)
      	at ___cps.transform___(Native Method)
      	at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
      	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
      	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
      	at sun.reflect.GeneratedMethodAccessor81.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
      	at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:46)
      	at com.cloudbees.groovy.cps.Next.step(Next.java:83)
      	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:173)
      	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:162)
      	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
      	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
      	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:162)
      	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:19)
      	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:35)
      	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:32)
      	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
      	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:32)
      	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174)
      	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
      	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
      	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
      	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
      	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
      	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      Finished: FAILURE
      

       
      Thanks.

          [JENKINS-46625] IOException with docker.image().inside

          Chris Maes added a comment -

          Similar issue here. Also a big image (6.18G) with many layers (105).
          The problem is this works most of the time, but errors like these pop up when the host is more heavily loaded (the same image is being started multiple times in parallel at the exact same time)

          Chris Maes added a comment - Similar issue here. Also a big image (6.18G) with many layers (105). The problem is this works most of the time, but errors like these pop up when the host is more heavily loaded (the same image is being started multiple times in parallel at the exact same time)

          Alex added a comment -

          Hey everyone,

          I came across this post regarding an IOException with the docker.image().inside function in a basic pipeline script. It seems that running the script with the martin lowinski/flutter-android-sdk:latest image is resulting in a failure.

          Looking at the log provided, it looks that the image was downloaded successfully, however an error occurred during execution, main to a timeout. It's important to note that the flutter-android-sdk image is quite large, consisting of 33 layers and occupying 2.4GB of space.

          I must admit that I haven't encountered this specific issue before, but it appears to be related to running the image within the pipeline. Perhaps there is a conflict or limitation that is causing the IOException.

          If everybody has experienced a similar trouble or has any insights to share, it would be greatly appreciated. Let's work together to troubleshoot and locate a solution for this issue. You can find me on this project: https://andersenlab.de/find-developers/flutter

          Alex added a comment - Hey everyone, I came across this post regarding an IOException with the docker.image().inside function in a basic pipeline script. It seems that running the script with the martin lowinski/flutter-android-sdk:latest image is resulting in a failure. Looking at the log provided, it looks that the image was downloaded successfully, however an error occurred during execution, main to a timeout. It's important to note that the flutter-android-sdk image is quite large, consisting of 33 layers and occupying 2.4GB of space. I must admit that I haven't encountered this specific issue before, but it appears to be related to running the image within the pipeline. Perhaps there is a conflict or limitation that is causing the IOException. If everybody has experienced a similar trouble or has any insights to share, it would be greatly appreciated. Let's work together to troubleshoot and locate a solution for this issue. You can find me on this project: https://andersenlab.de/find-developers/flutter

            Unassigned Unassigned
            martinlowinski Martin Lowinski
            Votes:
            6 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: